File: stringwithid.h

package info (click to toggle)
falconpl 0.9.6.9-git20120606-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 46,176 kB
  • sloc: cpp: 181,389; ansic: 109,025; yacc: 2,310; xml: 1,218; sh: 403; objc: 245; makefile: 82; sql: 20
file content (71 lines) | stat: -rw-r--r-- 1,560 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
   FALCON - The Falcon Programming Language.
   FILE: stringwithid.h

   An extenson of the Falcon::String that saves also the module string ID.
   -------------------------------------------------------------------
   Author: Giancarlo Niccolai
   Begin: gio lug 21 2005

   -------------------------------------------------------------------
   (C) Copyright 2004: the FALCON developers (see list in AUTHORS file)

   See LICENSE file for licensing details.
*/

/** \file
   An extenson of the Falcon::String that saves also the module string ID.
*/

#ifndef flc_stringwithid_H
#define flc_stringwithid_H

#include <falcon/string.h>

namespace Falcon 
{

/** Pair of strings and their ID.
   Useful during compilation to create objects that need to know the string ID in
   the module rather than the physical string.
*/
class StringWithID: public String
{
   int32 m_id;
public:
   /** allows on-the-fly core string creation from static data */
   StringWithID( const char *data ):
      String( data )
   {}

   StringWithID( const char *data, uint32 len ):
      String( data, len )
   {}
   
   StringWithID():
      String()
   {}

   StringWithID( byte *buffer, uint32 size, uint32 allocated ):
      String( buffer, size, allocated )
   {}

   explicit StringWithID( uint32 prealloc ):
      String( prealloc )
   {}
   
   StringWithId( const StringWithID &other ):
      String( other )
   {
      m_id = other.m_id;
   }
   
   int32 id() const { return m_id; }
   void id( int32 val ) { m_id = val; }
};

}

#endif

/* end of stringwithid.h */