Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gString.h
Go to the documentation of this file.
1 /*
2 # <<BEGIN-copyright>>
3 # Copyright (c) 2010, Lawrence Livermore National Security, LLC.
4 # Produced at the Lawrence Livermore National Laboratory
5 # Written by Bret R. Beck, beck6@llnl.gov.
6 # CODE-461393
7 # All rights reserved.
8 #
9 # This file is part of GIDI. For details, see nuclear.llnl.gov.
10 # Please also read the "Additional BSD Notice" at nuclear.llnl.gov.
11 #
12 # Redistribution and use in source and binary forms, with or without modification,
13 # are permitted provided that the following conditions are met:
14 #
15 # 1) Redistributions of source code must retain the above copyright notice,
16 # this list of conditions and the disclaimer below.
17 # 2) Redistributions in binary form must reproduce the above copyright notice,
18 # this list of conditions and the disclaimer (as noted below) in the
19 # documentation and/or other materials provided with the distribution.
20 # 3) Neither the name of the LLNS/LLNL nor the names of its contributors may be
21 # used to endorse or promote products derived from this software without
22 # specific prior written permission.
23 #
24 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27 # SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
28 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
33 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 # <<END-copyright>>
35 */
36 #ifndef gString_h_included
37 #define gString_h_included
38 
39 #if defined __cplusplus
40  extern "C" {
41 #endif
42 
43 #include "statusMessageReporting.h"
44 
45 #if defined __cplusplus
46  namespace GIDI {
47 #endif
48 
49 #define gString_minIncrement sizeof( char * )
50 typedef struct gString_s gString;
51 
52 struct gString_s {
53  int length, allocated, increment;
54  char *gStr;
55 };
56 
57 int gString_initialize( statusMessageReporting *smr, gString *gStr, int size, int increment );
60 int gString_addTo( statusMessageReporting *smr, gString *gStr, char const *str );
61 char const *gString_string( statusMessageReporting *smr, gString *gStr );
65 
66 #if defined __cplusplus
67  }
68  }
69 #endif
70 
71 #endif /* End of gString_h_included. */
72 
int gString_length(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:119
char const * gString_string(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:111
int gString_release(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:69
char * gStr
Definition: gString.h:54
int gString_addTo(statusMessageReporting *smr, gString *gStr, char const *str)
Definition: gString.cc:90
int gString_initialize(statusMessageReporting *smr, gString *gStr, int size, int increment)
Definition: gString.cc:48
int gString_increment(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:135
int length
Definition: gString.h:53
int gString_allocated(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:127
int gString_clear(statusMessageReporting *smr, gString *gStr)
Definition: gString.cc:79