C++ Boost

Regex++, Traits Class Reference.

Copyright (c) 1998-2001

Dr John Maddock

Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Dr John Maddock makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.


¤³¤Î¾Ï¤Ç¤Ï reg_expression ¥Æ¥ó¥×¥ì¡¼¥È¥¯¥é¥¹¤ÎÆÃÀ­¥¯¥é¥¹¤Î»ÅÍͤˤĤ¤¤Æ½Ò¤Ù¤ë¡£ ¤³¤ì¤é¤Î»ÅÍͤÏ¿¾¯Ê£»¨(¿½¤·Ìõ¤Ê¤¤)¤Ç¡¢¿·¤·¤¤ÆÃħ¤ÎÍ×µá¤Ë¤¢¤¿¤êÊѹ¹¤¬É¬ÍפǤ¢¤ë¡£ ¤·¤«¤·»ä¤Ï¤·¤Ð¤é¤¯¡¢¤³¤ì¤é¤ò¤³¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤³¤¦¤È»×¤¦¡£ ¤½¤·¤ÆÍýÁÛŪ¤Ë¤Ï¡¢»ÅÍͤÏÁý¤¨¤ë¤è¤ê¤â¸º¤é¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¡£

reg_expression ÆÃÀ­¥¯¥é¥¹¤Ïʸ»ú·¿¤ÎÀ­¼Á¤È¡¢ ¤½¤Îʸ»ú·¿¤Ë´ØÏ¢¤¹¤ë¥í¥±¡¼¥ë¤ÎÀ­¼Á¤ÎξÊý¤ò¥«¥×¥»¥ë²½¤¹¤ë¡£ ´ØÏ¢¤¹¤ë¥í¥±¡¼¥ë¤Ï¼Â¹Ô»þ¤Ë (std::locale ¤Ë¤è¤Ã¤Æ) ÄêµÁ¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¤·¡¢ ÆÃÀ­¥¯¥é¥¹¤ËľÀÜ¥³¡¼¥Ç¥£¥ó¥°¤µ¤ì¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë·èÄꤵ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

¼¡¤Î¥¯¥é¥¹¤ÎÎã¤Ï¡¢ ¥¯¥é¥¹ reg_expression ¤Ç»È¤¦¤¿¤á¤Î¡¢ "ŵ·¿Åª¤Ê" ÆÃÀ­¥¯¥é¥¹¤Ëµá¤á¤é¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀâÌÀ¤·¤Æ¤¤¤ë:

class mytraits
{
   typedef implementation_defined char_type;
   typedef implementation_defined uchar_type;
   typedef implementation_defined size_type;
   typedef implementation_defined string_type;
   typedef implementation_defined locale_type;
   typedef implementation_defined uint32_t;
   struct sentry
   {
      sentry(const mytraits&);
      operator void*() { return this; }
   };

   enum char_syntax_type
   {
      syntax_char = 0,
      syntax_open_bracket = 1,                  // (
      syntax_close_bracket = 2,                 // )
      syntax_dollar = 3,                        // $
      syntax_caret = 4,                         // ^
      syntax_dot = 5,                           // .
      syntax_star = 6,                          // *
      syntax_plus = 7,                          // +
      syntax_question = 8,                      // ?
      syntax_open_set = 9,                      // [
      syntax_close_set = 10,                    // ]
      syntax_or = 11,                           // |
      syntax_slash = 12,                        //
      syntax_hash = 13,                         // #
      syntax_dash = 14,                         // -
      syntax_open_brace = 15,                   // {
      syntax_close_brace = 16,                  // }
      syntax_digit = 17,                        // 0-9
      syntax_b = 18,                            // for \b
      syntax_B = 19,                            // for \B
      syntax_left_word = 20,                    // for \<
      syntax_right_word = 21,                   // for \
      syntax_w = 22,                            // for \w
      syntax_W = 23,                            // for \W
      syntax_start_buffer = 24,                 // for \`
      syntax_end_buffer = 25,                   // for \'
      syntax_newline = 26,                      // for newline alt
      syntax_comma = 27,                        // for {x,y}

      syntax_a = 28,                            // for \a
      syntax_f = 29,                            // for \f
      syntax_n = 30,                            // for \n
      syntax_r = 31,                            // for \r
      syntax_t = 32,                            // for \t
      syntax_v = 33,                            // for \v
      syntax_x = 34,                            // for \xdd
      syntax_c = 35,                            // for \cx
      syntax_colon = 36,                        // for [:...:]
      syntax_equal = 37,                        // for [=...=]
   
      // perl ops:
      syntax_e = 38,                            // for \e
      syntax_l = 39,                            // for \l
      syntax_L = 40,                            // for \L
      syntax_u = 41,                            // for \u
      syntax_U = 42,                            // for \U
      syntax_s = 43,                            // for \s
      syntax_S = 44,                            // for \S
      syntax_d = 45,                            // for \d
      syntax_D = 46,                            // for \D
      syntax_E = 47,                            // for \Q\E
      syntax_Q = 48,                            // for \Q\E
      syntax_X = 49,                            // for \X
      syntax_C = 50,                            // for \C
      syntax_Z = 51,                            // for \Z
      syntax_G = 52,                            // for \G
      syntax_bang = 53,                         // reserved for future use '!'
      syntax_and = 54,                          // reserve for future use '&'
   };

   enum{
      char_class_none = 0,
      char_class_alpha,
      char_class_cntrl,
      char_class_digit,
      char_class_lower,
      char_class_punct,
      char_class_space,
      char_class_upper,
      char_class_xdigit,
      char_class_blank,
      char_class_unicode,
      char_class_alnum,
      char_class_graph,
      char_class_print,
      char_class_word
   };

   static size_t length(const char_type* p);
   unsigned int syntax_type(size_type c)const;
   char_type translate(char_type c, bool icase)const;
   void transform(string_type& out, const string_type& in)const;
   void transform_primary(string_type& out, const string_type& in)const;
   bool is_separator(char_type c)const;
   bool is_combining(char_type)const;
   bool is_class(char_type c, uint32_t f)const;
   int toi(char_type c)const;
   int toi(const char_type*& first, const char_type* last, int radix)const;
   uint32_t lookup_classname(const char_type* first, const char_type* last)const;
   bool lookup_collatename(string_type& buf, const char_type* first, const char_type* last)const;
   locale_type imbue(locale_type l);
   locale_type getloc()const;
   std::string error_string(unsigned id)const;

   mytraits();
   ~mytraits();
};

ÆÃÀ­¥¯¥é¥¹¤Ëµá¤á¤é¤ì¤ë¥á¥ó¥Ð·¿¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
  

  ¥á¥ó¥Ð̾ ÀâÌÀ  
  char_type ¤³¤ÎÆÃÀ­¥¯¥é¥¹¤¬¥«¥×¥»¥ë²½¤¹¤ëʸ»ú·¿¡£ POD ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£uchar_type ¤ËÊÑ´¹²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£  
  uchar_type char_type ¤ËÂбþ¤¹¤ë unsigned ·¿¡£ size_type ¤ËÊÑ´¹²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£  
  size_type É乿¤Ê¤·À°¿ô·¿¡£uchar_type ¤ÈƱ¤¸ÀºÅ٤Ǥʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£  
  string_type std::basic_string<char_type> ¤ÈƱ¤¸Ç½ÎϤòÄ󶡤¹¤ë·¿¡£ ¤³¤ì¤Ï¾È¹çÍ×ÁÇ¡¢Ê¸»úÎó¤Î¥½¡¼¥È¤Î¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ ¤â¤· char_type ¤¬¥í¥±¡¼¥ë°Í¸¤Î¾È¹ç¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð ("ʸ»ú"¤Ç¤Ï¤Ê¤¤)¡¢ ¤³¤ì¤Ï std::basic_string ¤è¤ê¤âñ½ã¤Ê¤â¤Î¤Ç¤è¤¤¡£  
  locale_type ÆÃÀ­¥¯¥é¥¹¤Ç»È¤ï¤ì¤ë¥í¥±¡¼¥ë¤ò¥«¥×¥»¥ë²½¤¹¤ë·¿¡£ ¤ª¤½¤é¤¯ std::locale ¤À¤È»×¤¦¤¬¡¢ ¥×¥é¥Ã¥È¥Õ¥©¡¼¥àÆÃÍ­¤Î·¿¤â²Äǽ¤Ç¤¢¤ë¡£ ¤Þ¤¿¤Ï¡¢¤â¤·¥¤¥ó¥¹¥¿¥ó¥¹Ëè¤Î¥í¥±¡¼¥ë¤òÆÃÀ­¥¯¥é¥¹¤¬¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤Ê¤é¡¢ ¥À¥ß¡¼·¿¤â²Äǽ¤Ç¤¢¤ë¡£  
  uint32_t ¾¯¤Ê¤¯¤È¤â 32¥Ó¥Ã¥È¤ÎÀºÅÙ¤ò»ý¤Ä É乿¤Ê¤·À°¿ô·¿¡£ ʸ»úʬÎà¤Î¤¿¤á¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯·¿¤È¤·¤Æ»È¤ï¤ì¤ë¡£  
  sentry ÆÃÀ­¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤«¤é¹½ÃÛ²Äǽ¤Ç¡¢ void* ¤Ø¤ÎÊÑ´¹²Äǽ¤Ê¥¯¥é¥¹¤â¤·¤¯¤Ï¹½Â¤Âη¿¡£ sentry ·¿¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¤½¤ì¤¾¤ì¤ÎÀµµ¬É½¸½¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¹½ÃÛ¤µ¤ì¤ë¡£ ¤³¤ì¤Ï¡¢ÆÃÀ­¥¯¥é¥¹¤ÎÀÜÆ¬¼­/ÀÜÈø¼­Áàºî¤ò¼Â¹Ô¤¹¤ëµ¡²ñ¤òÄ󶡤¹¤ë¡£ 

Î㤨¤Ð¡¢¥°¥í¡¼¥Ð¥ë¥í¥±¡¼¥ë¤ò¥«¥×¥»¥ë²½¤·¤¿ÆÃÀ­¥¯¥é¥¹¤Ï¡¢ (¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë¤³¤È¤Ç)¥°¥í¡¼¥Ð¥ë¥í¥±¡¼¥ë¤ÈƱ´ü¤¹¤ëµ¡²ñ¤È¤·¤Æ¡¢ ¤³¤ì¤òÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£

 


 ¼¡¤Î¥á¥ó¥ÐÄê¿ô¤Ï¡¢¥í¥±¡¼¥ëÈó°Í¸¤ÊÀµµ¬É½¸½¤Î¹½Ê¸¤ò¤¢¤é¤ï¤¹¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ ¥á¥ó¥Ð´Ø¿ô syntax_type ¤Ï¤³¤ì¤é¤ÎÃͤΤ¦¤Á¤Î°ì¤Ä¤òÊÖ¤·¡¢ ¥í¥±¡¼¥ë°Í¸¤ÎÀµµ¬É½¸½¤ò¥í¥±¡¼¥ëÈó°Í¸¤Ê¥È¡¼¥¯¥ó¤Î¥·¡¼¥±¥ó¥¹¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£
 

  ¥á¥ó¥ÐÄê¿ô  ±Ñ¸ì¤Ç¤Îɽ¸½   
  syntax_char  Á´¤Æ¤ÎÆÃ¼ì¤Ç¤Ê¤¤Ê¸»ú   
  syntax_open_bracket   
  syntax_close_bracket   
  syntax_dollar   
  syntax_caret   
  syntax_dot   
  syntax_star   
  syntax_plus   
  syntax_question   
  syntax_open_set   
  syntax_close_set   
  syntax_or   
  syntax_slash   
  syntax_hash   
  syntax_dash   
  syntax_open_brace   
  syntax_close_brace   
  syntax_digit  0123456789   
  syntax_b   
  syntax_B   
  syntax_left_word   
  syntax_right_word     
  syntax_w   
  syntax_W   
  syntax_start_buffer   
  syntax_end_buffer   
  syntax_newline  \n   
  syntax_comma   
  syntax_a   
  syntax_f   
  syntax_n   
  syntax_r   
  syntax_t   
  syntax_v   
  syntax_x   
  syntax_c   
  syntax_colon   
  syntax_equal   
  syntax_e   
  syntax_l   
  syntax_L   
  syntax_u   
  syntax_U   
  syntax_s   
  syntax_S   
  syntax_d   
  syntax_D   
  syntax_E   
  syntax_Q   
  syntax_X   
  syntax_C   
  syntax_Z   
  syntax_G   
  syntax_bang   
  syntax_and   

¼¡¤Î¥á¥ó¥ÐÄê¿ô¤ÏÆÃÊ̤Êʸ»úʬÎà¤òɽ¤¹¤¿¤á¤Ë»È¤ï¤ì¤ë:
 

  ¥á¥ó¥ÐÄê¿ô  ÀâÌÀ  
  char_class_none  ʬÎà¤Ê¤·¡£¥¼¥í¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£  
  char_class_alpha  Á´¤Æ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú  
  char_class_cntrl  Á´¤Æ¤Î¥³¥ó¥È¥í¡¼¥ëʸ»ú  
  char_class_digit  Á´¤Æ¤Î10¿Ê¿ô»ú  
  char_class_lower  Á´¤Æ¤Î¾®Ê¸»ú  
  char_class_punct  Á´¤Æ¤Î¶çÆÉÅÀ  
  char_class_space  Á´¤Æ¤Î¶õÇòʸ»ú  
  char_class_upper  Á´¤Æ¤ÎÂçʸ»ú  
  char_class_xdigit  Á´¤Æ¤Î16¿Ê¿ô»ú  
  char_class_blank  Á´¤Æ¤Î¥Ö¥é¥ó¥¯Ê¸»ú(¥¹¥Ú¡¼¥¹¤È¥¿¥Ö)  
  char_class_unicode  Á´¤Æ¤Î³ÈÄ¥¥æ¥Ë¥³¡¼¥Éʸ»ú¡£ ¤³¤ì¤é¤Ïñ°ì¤Î¥Ê¥í¥¦¥­¥ã¥é¥¯¥¿¤È¤·¤Æ¤¢¤é¤ï¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£  
  char_class_alnum  Á´¤Æ¤Îʸ»ú¤È¿ô»ú  
  char_class_graph  Á´¤Æ¤Î³¨Ê¸»ú  
  char_class_print  Á´¤Æ¤Î°õ»ú²Äǽʸ»ú  
  char_class_word  ñ¸ì¤ò·ÁÀ®¤¹¤ëʸ»úÁ´¤Æ (ʸ»ú¡¢¿ô»ú¡¢¥¢¥ó¥À¡¼¥¹¥³¥¢)  

¼¡¤Î¥á¥ó¥Ð´Ø¿ô¤¬Á´¤Æ¤ÎÀµµ¬É½¸½ÆÃÀ­¥¯¥é¥¹¤ËɬÍפǤ¢¤ë¡£ ¤³¤³¤Ç const ¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤ë¥á¥ó¥Ð¤Ï¡¢ ¤â¤·¥¯¥é¥¹¤¬¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥Ç¡¼¥¿¤ò´Þ¤Þ¤Ê¤±¤ì¤Ð Âå¤ï¤ê¤Ë static ¤È¤·¤ÆÀë¸À¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£
 

  ¥á¥ó¥Ð´Ø¿ô ÀâÌÀ  
  static size_t length(const char_type* p); null ½ªÃ¼Ê¸»úÎó p ¤ÎŤµ¤òÊÖ¤¹¡£  
  unsigned int syntax_type(size_type c)const;   ÆþÎÏʸ»úÎó¤ò¥í¥±¡¼¥ëÈó°Í¸¤Ê¥È¡¼¥¯¥ó (syntax_xxx ¥á¥ó¥ÐÄê¿ô¤Î¤Ò¤È¤Ä) ¤ËÊÑ´¹¤¹¤ë¡£ Àµµ¬É½¸½¤ò¥í¥±¡¼¥ëÈó°Í¸¤Ê²òÀÏÌڤ˹½Ê¸²òÀϤ¹¤ë¤È¤­¤Ë¸Æ¤Ð¤ì¤ë¡£ 

Îã: ±Ñ¸ì¤Ç¤ÎÀµµ¬É½¸½¤Ç¤Ï¡¢Á´¤Æ¤Îñ¸ì·ÁÀ®Ê¸»ú¤Îʸ»ú¥¯¥é¥¹¤ò¤¢¤é¤ï¤¹¤¿¤á¤Ë¡¢ "[[:word:]]" ¤È¤³¤Îάµ­ "\w" ¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£ ·ë²ÌŪ¤Ë¡¢ syntax_type('w') ¤Ï syntax_w ¤òÊÖ¤¹¡£ ¥Õ¥é¥ó¥¹¸ì¤Ç¤ÎÀµµ¬É½¸½¤Ç¤Ï¡¢ "[[:word:]]" ¤ÎÂå¤ï¤ê¤Ë¡¢ "[[:mot:]]" ¤ò¡¢ "\w" ¤ÎÂå¤ï¤ê¤Ë "\m" ¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£ ¤³¤Î¤¿¤á¡¢ syntax_w ¤òÊÖ¤¹¤Î¤Ï¡¢ syntax_type('m') ¤Ç¤¢¤ë¡£

 
  char_type translate(char_type c, bool icase)const;   ÆþÎÏʸ»ú¤ò¡¢¤½¤Îʸ»ú¤¬Â°¤¹¤ëÅù²Á¥¯¥é¥¹¤ò¤¢¤é¤ï¤¹°ì°Õ¤Î¼±Ê̻ҤËÊÑ·Á¤¹¤ë¡£ ¤â¤· icase ¤¬¿¿¤Ê¤é¡¢Ìá¤êÃͤÏÂçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Ê¤¤¡£ 

[Åù²Á¥¯¥é¥¹¤Ï¸ß¤¤¤ËÅù²Á¤Ç¤¢¤ë¤È°·¤ï¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Ê¸»ú¤¹¤Ù¤Æ¤Î½¸¹ç¤Ç¤¢¤ë¡£]

 
  void transform(string_type& out, const string_type& in)const;   ʸ»úÎó in ¤ò¥í¥±¡¼¥ë°Í¸¤Î¥½¡¼¥È¥­¡¼¤ËÊÑ·Á¤·¡¢ out ¤Ë·ë²Ì¤ò³ÊǼ¤¹¤ë¡£  
  void transform_primary(string_type& out, const string_type& in)const;   ʸ»úÎó in ¤ò¥í¥±¡¼¥ë°Í¸¤Î¼ç¥½¡¼¥È¥­¡¼¤ËÊÑ·Á¤·¡¢ ·ë²Ì¤ò out ¤Ë³ÊǼ¤¹¤ë¡£  
  bool is_separator(char_type c)const;   c ¤¬¹Ô¤Î¶èÀÚ¤ê¤Ê¤é true ¤òÊÖ¤¹¡£  
  bool is_combining(char_type c)const;   c ¤¬¥æ¥Ë¥³¡¼¥ÉÊ£¹çʸ»ú¤Ê¤é true ¤òÊÖ¤¹¡£  
  bool is_class(char_type c, uint32_t f)const;   c ¤¬¥Ó¥Ã¥È¥Þ¥Ã¥× f ¤Ç¤¢¤é¤ï¤µ¤ì¤ëʸ»ú¥¯¥é¥¹¤ÎÍ×ÁǤʤé true ¤òÊÖ¤¹¡£  
  int toi(char_type c)const;   ʸ»ú c ¤ò10¿ÊÀ°¿ô¤ËÊÑ´¹¤¹¤ë¡£ 

[»öÁ°¾ò·ï: is_class(c,char_class_digit)==true]

 
  int toi(const char_type*& first, const char_type* last, int radix)const;   ʸ»úÎó [first-last) ¤ò´ð¿ô radix ¤ÎÀ°¿ôÃͤËÊÑ´¹¤¹¤ë¡£ ºÇ½é¤ÎÈó¿ô»úʸ»ú¤òȯ¸«¤·¤¿¤éÄä»ß¤·¡¢ first ¤¬¤½¤Îʸ»ú¤ò¤µ¤¹¤è¤¦¤ËÀßÄꤹ¤ë¡£  

[»öÁ°¾ò·ï: is_class(*first,char_class_digit)==true]

 
  uint32_t lookup_classname(const char_type* first, const char_type* last)const;   ʸ»ú¥¯¥é¥¹ [first-last) ¤ò¤¢¤é¤ï¤¹¥Ó¥Ã¥È¥Þ¥Ã¥×¤òÊÖ¤¹¡£ ¤â¤· [first-last) ¤¬Ê¸»ú¥¯¥é¥¹Ì¾¤È¤·¤ÆÇ§¼±¤µ¤ì¤¿¤±¤ì¤Ð¡¢ char_class_none ¤òÊÖ¤¹¡£  
  bool lookup_collatename(string_type& buf, const char_type* first, const char_type* last)const; ¥·¡¼¥±¥ó¥¹ [first-last) ¤¬´ûÃΤξȹçÍ×ÁÇ̾¤Ç¤¢¤ì¤Ð¡¢ ¤½¤Î¾È¹çÍ×ÁǤò buf ¤Ë³ÊǼ¤·¡¢ true ¤òÊÖ¤¹¡£ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢ false ¤òÊÖ¤¹¡£  
  locale_type imbue(locale_type l);   ¥¯¥é¥¹¤ò¥í¥±¡¼¥ë l ¤Ë¤¹¤ë¡£  
  locale_type getloc()const;   ÆÃÀ­¥¯¥é¥¹¤Î¥í¥±¡¼¥ë¤òÊÖ¤¹¡£  
  std::string error_string(unsigned id)const;   ¥¨¥é¡¼ÈÖ¹æ id ¤ËÂФ¹¤ë¥í¥±¡¼¥ë°Í¸¤Î¥¨¥é¡¼Ê¸»úÎó¤òÊÖ¤¹¡£ °ú¿ô id ¤Ï POSIX ɸ½à¤Ç½Ò¤Ù¤é¤ì¡¢ <boost/cregex.hpp ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë REG_XXX ¥¨¥é¡¼¥³¡¼¥É¤Î¤Ò¤È¤Ä¤Ç¤¢¤ë¡£  
  mytraits();  ¥³¥ó¥¹¥È¥é¥¯¥¿  
  ~ mytraits();  ¥Ç¥¹¥È¥é¥¯¥¿  

¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤¿ÆÃÀ­¥¯¥é¥¹¤ÎÎ㤬 Christian Engströí ¤Ë¤è¤Ã¤Æ¤âÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ iso8859_1_regex_traits.cpp µÚ¤Ó iso8859_1_regex_traits.hpp ¤ò¸«¤è¡£ ¤³¤ÎÎã¤Ï c_regex_traits ¤ò·Ñ¾µ¤·¡¢Æó¤Ä¤Î¥í¥±¡¼¥ëÆÃÍ­¤Î´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Î¤½¤ì¼«¿È¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë¡£ ¤³¤ì¤Ï (¤Ò¤È¤Ä¤Î¥í¥±¡¼¥ë¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤ë¸Â¤ê) Á´¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤½¤Î¥¯¥é¥¹¤¬°ÂÄꤷ¤¿¿¶¤ëÉñ¤¤¤òÍ¿¤¨¤ë¤³¤È¤òÊݾڤ¹¤ë¡£ ºî¼Ô¤Ë¤è¤ë¤è¤ê´°Á´¤ÊÀâÌÀ¤Ï¡¢ readme file ¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¡£


Copyright Dr John Maddock 1998-2001 all rights reserved.


Japanese Translation Copyright (C) 2003 Kohske Takahashi

¥ª¥ê¥¸¥Ê¥ë¤Î¡¢µÚ¤Ó¤³¤ÎÃøºî¸¢É½¼¨¤¬Á´¤Æ¤ÎÊ£À½¤ÎÃæ¤Ë¸½¤ì¤ë¸Â¤ê¡¢¤³¤Îʸ½ñ¤Î Ê£À½¡¢ÍøÍÑ¡¢Êѹ¹¡¢ÈÎÇ䤽¤·¤ÆÇÛÉÛ¤òǧ¤á¤ë¡£¤³¤Î¥É¥­¥å¥á¥ó¥È¤Ï¡Ö¤¢¤ë¤¬¤Þ¤Þ¡× ¤ËÄ󶡤µ¤ì¤Æ¤ª¤ê¡¢¤¤¤«¤Ê¤ëÌÀ¼¨Åª¡¢°ÅÌÛŪÊݾڤâ¹Ô¤ï¤Ê¤¤¡£¤Þ¤¿¡¢ ¤¤¤«¤Ê¤ëÌÜŪ¤ËÂФ·¤Æ¤â¡¢¤½¤ÎÍøÍѤ¬Å¬¤·¤Æ¤¤¤ë¤³¤È¤ò´ØÃΤ·¤Ê¤¤¡£