GVariant: support serialising to GVariantVectors
[platform/upstream/glib.git] / glib / gregex.h
index 53a2aee..eff6d60 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#ifndef __G_REGEX_H__
+#define __G_REGEX_H__
+
 #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
 #error "Only <glib.h> can be included directly."
 #endif
 
-#ifndef __G_REGEX_H__
-#define __G_REGEX_H__
-
 #include <glib/gerror.h>
 #include <glib/gstring.h>
 
@@ -212,6 +212,7 @@ typedef enum
  */
 #define G_REGEX_ERROR g_regex_error_quark ()
 
+GLIB_AVAILABLE_IN_ALL
 GQuark g_regex_error_quark (void);
 
 /**
@@ -291,7 +292,8 @@ GQuark g_regex_error_quark (void);
  * Since: 2.14
  */
 /* Remember to update G_REGEX_COMPILE_MASK in gregex.c after
- * adding a new flag. */
+ * adding a new flag.
+ */
 typedef enum
 {
   G_REGEX_CASELESS          = 1 << 0,
@@ -371,7 +373,7 @@ typedef enum
  * @G_REGEX_MATCH_PARTIAL_HARD: Turns on the partial matching feature. In contrast to
  *     to #G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match
  *     is found, without continuing to search for a possible complete match. See
- *     see g_match_info_is_partial_match() for more information. Since: 2.34
+ *     g_match_info_is_partial_match() for more information. Since: 2.34
  * @G_REGEX_MATCH_NOTEMPTY_ATSTART: Like #G_REGEX_MATCH_NOTEMPTY, but only applied to
  *     the start of the matched string. For anchored
  *     patterns this can only happen for pattern containing "\K". Since: 2.34
@@ -404,14 +406,20 @@ typedef enum
 /**
  * GRegex:
  *
- * A GRegex is the "compiled" form of a regular expression pattern. This
- * structure is opaque and its fields cannot be accessed directly.
+ * A GRegex is the "compiled" form of a regular expression pattern.
+ * This structure is opaque and its fields cannot be accessed directly.
  *
  * Since: 2.14
  */
 typedef struct _GRegex         GRegex;
 
 
+/**
+ * GMatchInfo:
+ *
+ * A GMatchInfo is an opaque struct used to return information about
+ * matches.
+ */
 typedef struct _GMatchInfo     GMatchInfo;
 
 /**
@@ -436,35 +444,52 @@ typedef gboolean (*GRegexEvalCallback)            (const GMatchInfo *match_info,
                                                 gpointer          user_data);
 
 
+GLIB_AVAILABLE_IN_ALL
 GRegex          *g_regex_new                   (const gchar         *pattern,
                                                 GRegexCompileFlags   compile_options,
                                                 GRegexMatchFlags     match_options,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 GRegex           *g_regex_ref                  (GRegex              *regex);
+GLIB_AVAILABLE_IN_ALL
 void             g_regex_unref                 (GRegex              *regex);
+GLIB_AVAILABLE_IN_ALL
 const gchar     *g_regex_get_pattern           (const GRegex        *regex);
+GLIB_AVAILABLE_IN_ALL
 gint             g_regex_get_max_backref       (const GRegex        *regex);
+GLIB_AVAILABLE_IN_ALL
 gint             g_regex_get_capture_count     (const GRegex        *regex);
+GLIB_AVAILABLE_IN_ALL
 gboolean          g_regex_get_has_cr_or_lf      (const GRegex        *regex);
+GLIB_AVAILABLE_IN_2_38
+gint              g_regex_get_max_lookbehind    (const GRegex        *regex);
+GLIB_AVAILABLE_IN_ALL
 gint             g_regex_get_string_number     (const GRegex        *regex, 
                                                 const gchar         *name);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_regex_escape_string         (const gchar         *string,
                                                 gint                 length);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_regex_escape_nul            (const gchar         *string,
                                                 gint                 length);
 
+GLIB_AVAILABLE_IN_ALL
 GRegexCompileFlags g_regex_get_compile_flags    (const GRegex        *regex);
+GLIB_AVAILABLE_IN_ALL
 GRegexMatchFlags   g_regex_get_match_flags      (const GRegex        *regex);
 
 /* Matching. */
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_match_simple          (const gchar         *pattern,
                                                 const gchar         *string,
                                                 GRegexCompileFlags   compile_options,
                                                 GRegexMatchFlags     match_options);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_match                 (const GRegex        *regex,
                                                 const gchar         *string,
                                                 GRegexMatchFlags     match_options,
                                                 GMatchInfo         **match_info);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_match_full            (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -472,10 +497,12 @@ gboolean    g_regex_match_full            (const GRegex        *regex,
                                                 GRegexMatchFlags     match_options,
                                                 GMatchInfo         **match_info,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_match_all             (const GRegex        *regex,
                                                 const gchar         *string,
                                                 GRegexMatchFlags     match_options,
                                                 GMatchInfo         **match_info);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_match_all_full        (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -485,13 +512,16 @@ gboolean    g_regex_match_all_full        (const GRegex        *regex,
                                                 GError             **error);
 
 /* String splitting. */
+GLIB_AVAILABLE_IN_ALL
 gchar          **g_regex_split_simple          (const gchar         *pattern,
                                                 const gchar         *string,
                                                 GRegexCompileFlags   compile_options,
                                                 GRegexMatchFlags     match_options);
+GLIB_AVAILABLE_IN_ALL
 gchar          **g_regex_split                 (const GRegex        *regex,
                                                 const gchar         *string,
                                                 GRegexMatchFlags     match_options);
+GLIB_AVAILABLE_IN_ALL
 gchar          **g_regex_split_full            (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -501,6 +531,7 @@ gchar               **g_regex_split_full            (const GRegex        *regex,
                                                 GError             **error);
 
 /* String replacement. */
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_regex_replace               (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -508,6 +539,7 @@ gchar                *g_regex_replace               (const GRegex        *regex,
                                                 const gchar         *replacement,
                                                 GRegexMatchFlags     match_options,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_regex_replace_literal       (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -515,6 +547,7 @@ gchar                *g_regex_replace_literal       (const GRegex        *regex,
                                                 const gchar         *replacement,
                                                 GRegexMatchFlags     match_options,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_regex_replace_eval          (const GRegex        *regex,
                                                 const gchar         *string,
                                                 gssize               string_len,
@@ -523,37 +556,53 @@ gchar              *g_regex_replace_eval          (const GRegex        *regex,
                                                 GRegexEvalCallback   eval,
                                                 gpointer             user_data,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_regex_check_replacement     (const gchar         *replacement,
                                                 gboolean            *has_references,
                                                 GError             **error);
 
 /* Match info */
+GLIB_AVAILABLE_IN_ALL
 GRegex          *g_match_info_get_regex        (const GMatchInfo    *match_info);
+GLIB_AVAILABLE_IN_ALL
 const gchar      *g_match_info_get_string       (const GMatchInfo    *match_info);
 
+GLIB_AVAILABLE_IN_ALL
 GMatchInfo       *g_match_info_ref              (GMatchInfo          *match_info);
+GLIB_AVAILABLE_IN_ALL
 void              g_match_info_unref            (GMatchInfo          *match_info);
+GLIB_AVAILABLE_IN_ALL
 void             g_match_info_free             (GMatchInfo          *match_info);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_match_info_next             (GMatchInfo          *match_info,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_match_info_matches          (const GMatchInfo    *match_info);
+GLIB_AVAILABLE_IN_ALL
 gint             g_match_info_get_match_count  (const GMatchInfo    *match_info);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_match_info_is_partial_match (const GMatchInfo    *match_info);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_match_info_expand_references(const GMatchInfo    *match_info,
                                                 const gchar         *string_to_expand,
                                                 GError             **error);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_match_info_fetch            (const GMatchInfo    *match_info,
                                                 gint                 match_num);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_match_info_fetch_pos        (const GMatchInfo    *match_info,
                                                 gint                 match_num,
                                                 gint                *start_pos,
                                                 gint                *end_pos);
+GLIB_AVAILABLE_IN_ALL
 gchar           *g_match_info_fetch_named      (const GMatchInfo    *match_info,
                                                 const gchar         *name);
+GLIB_AVAILABLE_IN_ALL
 gboolean         g_match_info_fetch_named_pos  (const GMatchInfo    *match_info,
                                                 const gchar         *name,
                                                 gint                *start_pos,
                                                 gint                *end_pos);
+GLIB_AVAILABLE_IN_ALL
 gchar          **g_match_info_fetch_all        (const GMatchInfo    *match_info);
 
 G_END_DECLS