~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/lex_string.h

  • Committer: Mark Atwood
  • Date: 2011-08-03 15:44:55 UTC
  • mfrom: (2318.8.15 refactor2)
  • Revision ID: me@mark.atwood.name-20110803154455-jqg3gnxofkq8wetv
mergeĀ lp:~olafvdspek/drizzle/refactor2

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
#include <cstddef>
23
23
 
24
 
namespace drizzled
25
 
{
 
24
namespace drizzled {
26
25
 
27
26
/*
28
27
  lex_string_t -- a pair of a C-string and its length.
31
30
/* This definition must match the one given in mysql/plugin.h */
32
31
struct lex_string_t
33
32
{
34
 
  char *str;
 
33
  const char* begin() const
 
34
  {
 
35
    return str;
 
36
  }
 
37
 
 
38
  const char* end() const
 
39
  {
 
40
    return str + length;
 
41
  }
 
42
 
 
43
  char* str;
35
44
  size_t length;
36
45
};
37
46
 
63
72
 
64
73
};
65
74
 
66
 
 
67
 
#define STRING_WITH_LEN(X) (X), (static_cast<size_t>((sizeof(X) - 1)))
68
 
#define C_STRING_WITH_LEN(X) (const_cast<char *>((X))), (static_cast<size_t>((sizeof(X) - 1)))
 
75
#define STRING_WITH_LEN(X) (X), (static_cast<size_t>((sizeof(X) - 1))) // remove size_t cast
 
76
#define C_STRING_WITH_LEN(X) (const_cast<char*>((X))), (static_cast<size_t>((sizeof(X) - 1)))
69
77
 
70
78
} /* namespace drizzled */
71
79