SAGA API  v9.5
table_value.h
Go to the documentation of this file.
1 
3 // //
4 // SAGA //
5 // //
6 // System for Automated Geoscientific Analyses //
7 // //
8 // Application Programming Interface //
9 // //
10 // Library: SAGA_API //
11 // //
12 //-------------------------------------------------------//
13 // //
14 // table_value.h //
15 // //
16 // Copyright (C) 2005 by Olaf Conrad //
17 // //
18 //-------------------------------------------------------//
19 // //
20 // This file is part of 'SAGA - System for Automated //
21 // Geoscientific Analyses'. //
22 // //
23 // This library is free software; you can redistribute //
24 // it and/or modify it under the terms of the GNU Lesser //
25 // General Public License as published by the Free //
26 // Software Foundation, either version 2.1 of the //
27 // License, or (at your option) any later version. //
28 // //
29 // This library is distributed in the hope that it will //
30 // be useful, but WITHOUT ANY WARRANTY; without even the //
31 // implied warranty of MERCHANTABILITY or FITNESS FOR A //
32 // PARTICULAR PURPOSE. See the GNU Lesser General Public //
33 // License for more details. //
34 // //
35 // You should have received a copy of the GNU Lesser //
36 // General Public License along with this program; if //
37 // not, see <http://www.gnu.org/licenses/>. //
38 // //
39 //-------------------------------------------------------//
40 // //
41 // contact: Olaf Conrad //
42 // Institute of Geography //
43 // University of Goettingen //
44 // Goldschmidtstr. 5 //
45 // 37077 Goettingen //
46 // Germany //
47 // //
48 // e-mail: oconrad@saga-gis.org //
49 // //
51 
52 //---------------------------------------------------------
53 #ifndef HEADER_INCLUDED__SAGA_API__table_value_H
54 #define HEADER_INCLUDED__SAGA_API__table_value_H
55 
56 
58 // //
59 // //
60 // //
62 
63 //---------------------------------------------------------
74 // //
76 // //
77 // //
79 
80 //---------------------------------------------------------
81 #include "datetime.h"
82 
83 
85 // //
86 // //
87 // //
89 
90 //---------------------------------------------------------
91 typedef enum
92 {
99 }
101 
102 
104 // //
105 // //
106 // //
108 
109 //---------------------------------------------------------
111 {
112 public:
114  virtual ~CSG_Table_Value(void) {}
115 
116  virtual TSG_Table_Value_Type Get_Type (void) const = 0;
117 
118  //-----------------------------------------------------
119  virtual bool Set_Value (const CSG_Bytes &Value) = 0;
120  virtual bool Set_Value (const SG_Char *Value) = 0;
121  virtual bool Set_Value (int Value) = 0;
122  virtual bool Set_Value (sLong Value) = 0;
123  virtual bool Set_Value (double Value) = 0;
124 
125  //-----------------------------------------------------
126  virtual CSG_Bytes asBinary (void) const
127  {
128  const SG_Char *s = asString();
129 
130  return( CSG_Bytes((BYTE *)s, (int)(s && *s ? SG_STR_LEN(s) : 0) * sizeof(SG_Char)) );
131  }
132 
133  virtual const SG_Char * asString (int Decimals =-99) const = 0;
134  virtual int asInt (void) const = 0;
135  virtual sLong asLong (void) const = 0;
136  virtual double asDouble (void) const = 0;
137 
138  //-----------------------------------------------------
139  virtual bool is_Equal (const CSG_Table_Value &Value) const = 0;
140  bool operator == (const CSG_Table_Value &Value) const { return( is_Equal(Value) ); }
141 
142  //-----------------------------------------------------
143  operator const SG_Char * (void) const { return( asString() ); }
144  operator double (void) const { return( asDouble() ); }
145 
146  //-----------------------------------------------------
147  virtual CSG_Table_Value & operator = (const SG_Char *Value) { Set_Value(Value); return( *this ); }
148  virtual CSG_Table_Value & operator = (double Value) { Set_Value(Value); return( *this ); }
149  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) = 0;
150 
151 };
152 
153 
155 // //
157 
158 //---------------------------------------------------------
160 {
161 public:
163  virtual ~CSG_Table_Value_Binary(void) {}
164 
165  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_Binary ); }
166 
167  //-----------------------------------------------------
168  virtual bool Set_Value (const CSG_Bytes &Value)
169  {
170  return( m_Value.Create(Value) );
171  }
172 
173  virtual bool Set_Value (const SG_Char *Value)
174  {
175  return( m_Value.Create((BYTE *)Value, (int)((Value && *Value ? SG_STR_LEN(Value) : 0 * sizeof(SG_Char)))) );
176  }
177 
178  virtual bool Set_Value (int Value)
179  {
180  return( m_Value.Create((BYTE *)&Value, sizeof(Value)) );
181  }
182 
183  virtual bool Set_Value (sLong Value)
184  {
185  return( m_Value.Create((BYTE *)&Value, sizeof(Value)) );
186  }
187 
188  virtual bool Set_Value (double Value)
189  {
190  return( m_Value.Create((BYTE *)&Value, sizeof(Value)) );
191  }
192 
193  //-----------------------------------------------------
194  virtual bool Set_NoData (void) { return( m_Value.Destroy() ); }
195  virtual bool is_NoData (void) const { return( m_Value.Get_Count() <= 0 ); }
196 
197  //-----------------------------------------------------
198  virtual CSG_Bytes asBinary (void) const { return( m_Value ); }
199  virtual const SG_Char * asString (int Decimals =-99) const { return( (const SG_Char *)m_Value.Get_Bytes() ); }
200  virtual int asInt (void) const { return( m_Value.Get_Count() ); }
201  virtual sLong asLong (void) const { return( m_Value.Get_Count() ); }
202  virtual double asDouble (void) const { return( 0.0 ); }
203 
204  //-----------------------------------------------------
205  virtual bool is_Equal (const CSG_Table_Value &Value) const
206  {
207  return( !SG_STR_CMP(asString(), Value.asString()) );
208  }
209 
210  //-----------------------------------------------------
211  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) { Set_Value(Value.asBinary()); return( *this ); }
212 
213  //-----------------------------------------------------
214  CSG_Bytes & Get_Binary (void) { return( m_Value ); }
215 
216 
217 private:
218 
219  CSG_Bytes m_Value;
220 
221 };
222 
223 
225 // //
227 
228 //---------------------------------------------------------
230 {
231 public:
233  virtual ~CSG_Table_Value_String(void) {}
234 
235  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_String ); }
236 
237  //-----------------------------------------------------
238  virtual bool Set_Value (const CSG_Bytes &Value)
239  {
240  return( Set_Value((SG_Char *)Value.Get_Bytes()) );
241  }
242 
243  virtual bool Set_Value (const SG_Char *Value)
244  {
245  if( Value && m_Value.Cmp(Value) )
246  {
247  m_Value = Value;
248 
249  return( true );
250  }
251 
252  return( false );
253  }
254 
255  virtual bool Set_Value (int Value)
256  {
257  return( Set_Value(CSG_String::Format("%d" , Value).c_str()) );
258  }
259 
260  virtual bool Set_Value (sLong Value)
261  {
262  return( Set_Value(CSG_String::Format("%lld", Value).c_str()) );
263  }
264 
265  virtual bool Set_Value (double Value)
266  {
267  return( Set_Value(CSG_String::Format("%f" , Value).c_str()) );
268  }
269 
270  //-----------------------------------------------------
271  virtual const SG_Char * asString (int Decimals =-99) const { return( m_Value ); }
272  virtual int asInt (void) const { return( m_Value.asInt () ); }
273  virtual sLong asLong (void) const { return( m_Value.asInt () ); }
274  virtual double asDouble (void) const { return( m_Value.asDouble() ); }
275 
276  //-----------------------------------------------------
277  virtual bool is_Equal (const CSG_Table_Value &Value) const
278  {
279  return( !m_Value.Cmp(Value.asString()) );
280  }
281 
282  //-----------------------------------------------------
283  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) { Set_Value(Value.asString()); return( *this ); }
284 
285 
286 private:
287 
288  CSG_String m_Value;
289 
290 };
291 
292 
294 // //
296 
297 //---------------------------------------------------------
299 {
300 public:
301  CSG_Table_Value_Date(void) { m_Value = 0.0; }
302  virtual ~CSG_Table_Value_Date(void) {}
303 
304  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_Date ); }
305 
306  //-----------------------------------------------------
307  virtual bool Set_Value (const CSG_Bytes &Value)
308  {
309  return( Set_Value((SG_Char *)Value.Get_Bytes()) );
310  }
311 
312  virtual bool Set_Value (const SG_Char *Value)
313  {
314  return( Set_Value(SG_Date_To_JulianDayNumber(Value)) );
315  }
316 
317  virtual bool Set_Value (int Value)
318  {
319  return( Set_Value((double)Value) );
320  }
321 
322  virtual bool Set_Value (sLong Value)
323  {
324  return( Set_Value((double)Value) );
325  }
326 
327  virtual bool Set_Value (double Value)
328  {
329  if( m_Value != Value )
330  {
331  m_Value = Value;
332  m_Date = SG_JulianDayNumber_To_Date(m_Value);
333 
334  return( true );
335  }
336 
337  return( false );
338  }
339 
340  //-----------------------------------------------------
341  virtual const SG_Char * asString (int Decimals =-99) const { return( m_Date ); }
342  virtual int asInt (void) const { return( (int)m_Value ); }
343  virtual sLong asLong (void) const { return( (sLong)m_Value ); }
344  virtual double asDouble (void) const { return( m_Value ); }
345 
346  //-----------------------------------------------------
347  virtual bool is_Equal (const CSG_Table_Value &Value) const
348  {
349  return( m_Value == Value.asDouble() );
350  }
351 
352  //-----------------------------------------------------
354  {
355  switch( Value.Get_Type() )
356  {
359  Set_Value(Value.asString());
360  return( *this );
361 
362  default:
363  Set_Value(Value.asDouble());
364  return( *this );
365  }
366  }
367 
368 
369 private:
370 
371  double m_Value; // Julian Day Number
372 
373  CSG_String m_Date ; // yyyy-mm-dd (ISO 8601)
374 
375 };
376 
377 
379 // //
381 
382 //---------------------------------------------------------
384 {
385 public:
386  CSG_Table_Value_Int(void) { m_Value = 0; }
387  virtual ~CSG_Table_Value_Int(void) {}
388 
389  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_Int ); }
390 
391  //-----------------------------------------------------
392  virtual bool Set_Value (const CSG_Bytes &Value)
393  {
394  return( Set_Value((SG_Char *)Value.Get_Bytes()) );
395  }
396 
397  virtual bool Set_Value (const SG_Char *Value)
398  {
399  int i;
400  CSG_String s(Value);
401 
402  return( s.asInt(i) ? Set_Value(i) : false );
403  }
404 
405  virtual bool Set_Value (int Value)
406  {
407  if( m_Value != Value )
408  {
409  m_Value = Value;
410 
411  return( true );
412  }
413 
414  return( false );
415  }
416 
417  virtual bool Set_Value (sLong Value)
418  {
419  return( Set_Value((int)Value) );
420  }
421 
422  virtual bool Set_Value (double Value)
423  {
424  return( Set_Value((int)Value) );
425  }
426 
427  //-----------------------------------------------------
428  virtual const SG_Char * asString (int Decimals =-99) const
429  {
430  static CSG_String s;
431 
432  s.Printf("%d", m_Value);
433 
434  return( s.c_str() );
435  }
436 
437  virtual int asInt (void) const { return( m_Value ); }
438  virtual sLong asLong (void) const { return( m_Value ); }
439  virtual double asDouble (void) const { return( m_Value ); }
440 
441  //-----------------------------------------------------
442  virtual bool is_Equal (const CSG_Table_Value &Value) const
443  {
444  return( m_Value == Value.asInt() );
445  }
446 
447  //-----------------------------------------------------
448  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) { Set_Value(Value.asInt()); return( *this ); }
449 
450 
451 private:
452 
453  int m_Value;
454 
455 };
456 
457 
459 // //
461 
462 //---------------------------------------------------------
464 {
465 public:
466  CSG_Table_Value_Long(void) { m_Value = 0; }
467  virtual ~CSG_Table_Value_Long(void) {}
468 
469  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_Long ); }
470 
471  //-----------------------------------------------------
472  virtual bool Set_Value (const CSG_Bytes &Value)
473  {
474  return( Set_Value((SG_Char *)Value.Get_Bytes()) );
475  }
476 
477  virtual bool Set_Value (const SG_Char *Value)
478  {
479  int i;
480  CSG_String s(Value);
481 
482  return( s.asInt(i) ? Set_Value(i) : false );
483  }
484 
485  virtual bool Set_Value (int Value)
486  {
487  return( Set_Value((sLong)Value) );
488  }
489 
490  virtual bool Set_Value (sLong Value)
491  {
492  if( m_Value != Value )
493  {
494  m_Value = Value;
495 
496  return( true );
497  }
498 
499  return( false );
500  }
501 
502  virtual bool Set_Value (double Value)
503  {
504  return( Set_Value((sLong)Value) );
505  }
506 
507  //-----------------------------------------------------
508  virtual const SG_Char * asString (int Decimals =-99) const
509  {
510  static CSG_String s;
511 
512  s.Printf("%lld", m_Value);
513 
514  return( s.c_str() );
515  }
516 
517  virtual int asInt (void) const { return( (int)m_Value ); }
518  virtual sLong asLong (void) const { return( m_Value ); }
519  virtual double asDouble (void) const { return( (double)m_Value ); }
520 
521  //-----------------------------------------------------
522  virtual bool is_Equal (const CSG_Table_Value &Value) const
523  {
524  return( m_Value == Value.asLong() );
525  }
526 
527  //-----------------------------------------------------
528  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) { Set_Value(Value.asLong()); return( *this ); }
529 
530 
531 private:
532 
533  sLong m_Value;
534 
535 };
536 
537 
539 // //
541 
542 //---------------------------------------------------------
544 {
545 public:
546  CSG_Table_Value_Double(void) { m_Value = 0.0; }
547  virtual ~CSG_Table_Value_Double(void) {}
548 
549  virtual TSG_Table_Value_Type Get_Type (void) const { return( SG_TABLE_VALUE_TYPE_Double ); }
550 
551  //-----------------------------------------------------
552  virtual bool Set_Value (const CSG_Bytes &Value)
553  {
554  return( Set_Value((SG_Char *)Value.Get_Bytes()) );
555  }
556 
557  virtual bool Set_Value (const SG_Char *Value)
558  {
559  double d;
560  CSG_String s(Value);
561 
562  return( s.asDouble(d) ? Set_Value(d) : false );
563  }
564 
565  virtual bool Set_Value (int Value)
566  {
567  return( Set_Value((double)Value) );
568  }
569 
570  virtual bool Set_Value (sLong Value)
571  {
572  return( Set_Value((double)Value) );
573  }
574 
575  virtual bool Set_Value (double Value)
576  {
577  if( m_Value != Value )
578  {
579  m_Value = Value;
580 
581  return( true );
582  }
583 
584  return( false );
585  }
586 
587  //-----------------------------------------------------
588  virtual const SG_Char * asString (int Decimals =-99) const
589  {
590  static CSG_String s;
591 
592  s = SG_Get_String(m_Value, Decimals);
593 
594  return( s.c_str() );
595  }
596 
597  virtual int asInt (void) const { return( (int )m_Value ); }
598  virtual sLong asLong (void) const { return( (sLong)m_Value ); }
599  virtual double asDouble (void) const { return( m_Value ); }
600 
601  //-----------------------------------------------------
602  virtual bool is_Equal (const CSG_Table_Value &Value) const
603  {
604  return( m_Value == Value.asDouble() );
605  }
606 
607  //-----------------------------------------------------
608  virtual CSG_Table_Value & operator = (const CSG_Table_Value &Value) { Set_Value(Value.asDouble()); return( *this ); }
609 
610 
611 private:
612 
613  double m_Value;
614 
615 };
616 
617 
619 // //
620 // //
621 // //
623 
624 //---------------------------------------------------------
625 #endif // #ifndef HEADER_INCLUDED__SAGA_API__table_value_H
CSG_Table_Value_Date::CSG_Table_Value_Date
CSG_Table_Value_Date(void)
Definition: table_value.h:301
CSG_Table_Value_Long::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:508
TSG_Table_Value_Type
TSG_Table_Value_Type
Definition: table_value.h:92
CSG_Table_Value_Long::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:477
CSG_Table_Value_Date::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:317
CSG_Table_Value_Binary::~CSG_Table_Value_Binary
virtual ~CSG_Table_Value_Binary(void)
Definition: table_value.h:163
CSG_Table_Value_Long::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:522
CSG_String::Printf
int Printf(const char *Format,...)
Definition: api_string.cpp:308
CSG_Table_Value_String::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:255
CSG_Table_Value_Date::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:304
CSG_Table_Value_Date::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:327
CSG_Table_Value_String::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:271
SG_TABLE_VALUE_TYPE_String
@ SG_TABLE_VALUE_TYPE_String
Definition: table_value.h:94
CSG_Table_Value_Date::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:312
CSG_Table_Value_String::CSG_Table_Value_String
CSG_Table_Value_String(void)
Definition: table_value.h:232
CSG_Table_Value_Int::~CSG_Table_Value_Int
virtual ~CSG_Table_Value_Int(void)
Definition: table_value.h:387
CSG_Table_Value_Long::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:469
CSG_Table_Value_Double::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:557
CSG_Bytes::Destroy
bool Destroy(void)
Definition: api_memory.cpp:829
CSG_Table_Value_String::~CSG_Table_Value_String
virtual ~CSG_Table_Value_String(void)
Definition: table_value.h:233
CSG_Table_Value::operator=
virtual CSG_Table_Value & operator=(const SG_Char *Value)
Definition: table_value.h:147
CSG_Table_Value::Set_Value
virtual bool Set_Value(const SG_Char *Value)=0
CSG_Table_Value::asLong
virtual sLong asLong(void) const =0
CSG_Table_Value_String::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:243
CSG_Table_Value::~CSG_Table_Value
virtual ~CSG_Table_Value(void)
Definition: table_value.h:114
SG_Get_String
SAGA_API_DLL_EXPORT CSG_String SG_Get_String(double Value, int Precision=-99)
Definition: api_string.cpp:1337
CSG_String::asInt
int asInt(void) const
Definition: api_string.cpp:722
CSG_Bytes::Get_Count
int Get_Count(void) const
Definition: api_core.h:831
CSG_Table_Value_Binary::asLong
virtual sLong asLong(void) const
Definition: table_value.h:201
CSG_Table_Value_Date::asLong
virtual sLong asLong(void) const
Definition: table_value.h:343
CSG_Table_Value::Set_Value
virtual bool Set_Value(double Value)=0
CSG_Table_Value_String::asInt
virtual int asInt(void) const
Definition: table_value.h:272
CSG_Table_Value::CSG_Table_Value
CSG_Table_Value(void)
Definition: table_value.h:113
CSG_Table_Value_Double::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:588
CSG_Table_Value::asBinary
virtual CSG_Bytes asBinary(void) const
Definition: table_value.h:126
CSG_Table_Value_Long::asLong
virtual sLong asLong(void) const
Definition: table_value.h:518
CSG_Table_Value_Date::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:353
CSG_Table_Value_Double::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:570
CSG_Table_Value_Binary::asBinary
virtual CSG_Bytes asBinary(void) const
Definition: table_value.h:198
CSG_Table_Value_Binary::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:178
CSG_Table_Value_String::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:283
CSG_Table_Value_String::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:277
CSG_Table_Value_Binary::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:183
CSG_Table_Value_Int::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:392
CSG_Table_Value_Long::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:472
SG_TABLE_VALUE_TYPE_Date
@ SG_TABLE_VALUE_TYPE_Date
Definition: table_value.h:95
SG_STR_CMP
#define SG_STR_CMP(s1, s2)
Definition: api_core.h:544
CSG_Table_Value_String::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:260
CSG_Table_Value_Long::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:485
CSG_Table_Value
Definition: table_value.h:111
CSG_Table_Value_String
Definition: table_value.h:230
CSG_Table_Value_Int::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:417
CSG_Table_Value_Int::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:405
CSG_Table_Value_Int::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:442
CSG_Table_Value_Binary::Get_Binary
CSG_Bytes & Get_Binary(void)
Definition: table_value.h:214
CSG_Table_Value_Double::asInt
virtual int asInt(void) const
Definition: table_value.h:597
CSG_String::Cmp
int Cmp(const CSG_String &String) const
Definition: api_string.cpp:515
CSG_Table_Value_Binary::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:188
CSG_Table_Value_Long::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:502
CSG_Table_Value_Int
Definition: table_value.h:384
CSG_Table_Value_Binary::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:173
CSG_Table_Value_Long::asInt
virtual int asInt(void) const
Definition: table_value.h:517
CSG_Table_Value_Binary
Definition: table_value.h:160
CSG_Table_Value::Set_Value
virtual bool Set_Value(sLong Value)=0
CSG_Table_Value::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const =0
CSG_Table_Value_Int::asDouble
virtual double asDouble(void) const
Definition: table_value.h:439
CSG_Table_Value_Binary::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:165
SG_TABLE_VALUE_TYPE_Int
@ SG_TABLE_VALUE_TYPE_Int
Definition: table_value.h:96
CSG_Table_Value_Int::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:428
CSG_Table_Value_String::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:235
CSG_Table_Value_Int::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:422
CSG_Table_Value_Date::asDouble
virtual double asDouble(void) const
Definition: table_value.h:344
CSG_Table_Value_Binary::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:211
CSG_Table_Value_Double
Definition: table_value.h:544
CSG_Table_Value_Date::~CSG_Table_Value_Date
virtual ~CSG_Table_Value_Date(void)
Definition: table_value.h:302
CSG_Table_Value_Date::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:322
CSG_Table_Value_Long::Set_Value
virtual bool Set_Value(sLong Value)
Definition: table_value.h:490
SG_STR_LEN
#define SG_STR_LEN
Definition: api_core.h:542
CSG_Table_Value_Long::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:528
CSG_Table_Value_Int::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:448
CSG_Table_Value_Date
Definition: table_value.h:299
CSG_Table_Value_Binary::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:168
sLong
signed long long sLong
Definition: api_core.h:158
CSG_Table_Value_Double::asDouble
virtual double asDouble(void) const
Definition: table_value.h:599
CSG_Table_Value_Int::asLong
virtual sLong asLong(void) const
Definition: table_value.h:438
CSG_Table_Value_Int::CSG_Table_Value_Int
CSG_Table_Value_Int(void)
Definition: table_value.h:386
CSG_Table_Value_Long::asDouble
virtual double asDouble(void) const
Definition: table_value.h:519
CSG_Table_Value_Binary::CSG_Table_Value_Binary
CSG_Table_Value_Binary(void)
Definition: table_value.h:162
CSG_Table_Value::operator==
bool operator==(const CSG_Table_Value &Value) const
Definition: table_value.h:140
CSG_Table_Value::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const =0
CSG_Table_Value_Int::Set_Value
virtual bool Set_Value(const SG_Char *Value)
Definition: table_value.h:397
CSG_Bytes::Get_Bytes
BYTE * Get_Bytes(void) const
Definition: api_core.h:832
CSG_Table_Value_Binary::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:199
CSG_Table_Value_Binary::asInt
virtual int asInt(void) const
Definition: table_value.h:200
SG_TABLE_VALUE_TYPE_Double
@ SG_TABLE_VALUE_TYPE_Double
Definition: table_value.h:98
CSG_Bytes::Create
bool Create(void)
Definition: api_memory.cpp:784
CSG_Table_Value_Double::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:549
CSG_Bytes
Definition: api_core.h:812
CSG_String::Format
static CSG_String Format(const char *Format,...)
Definition: api_string.cpp:270
CSG_Table_Value_Double::Set_Value
virtual bool Set_Value(int Value)
Definition: table_value.h:565
CSG_Table_Value_Date::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:347
CSG_Table_Value_String::asLong
virtual sLong asLong(void) const
Definition: table_value.h:273
CSG_Table_Value_Long
Definition: table_value.h:464
CSG_Table_Value_Double::CSG_Table_Value_Double
CSG_Table_Value_Double(void)
Definition: table_value.h:546
CSG_Table_Value_Double::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:575
CSG_Table_Value_Double::asLong
virtual sLong asLong(void) const
Definition: table_value.h:598
SG_Char
#define SG_Char
Definition: api_core.h:536
CSG_Table_Value_Int::Get_Type
virtual TSG_Table_Value_Type Get_Type(void) const
Definition: table_value.h:389
CSG_String
Definition: api_core.h:563
CSG_Table_Value_Date::asInt
virtual int asInt(void) const
Definition: table_value.h:342
CSG_Table_Value_Binary::asDouble
virtual double asDouble(void) const
Definition: table_value.h:202
CSG_Table_Value::asDouble
virtual double asDouble(void) const =0
CSG_Table_Value::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)=0
SG_Date_To_JulianDayNumber
double SG_Date_To_JulianDayNumber(int y, int m, int d)
Definition: datetime.cpp:729
CSG_Table_Value_Binary::is_NoData
virtual bool is_NoData(void) const
Definition: table_value.h:195
CSG_Table_Value_Long::CSG_Table_Value_Long
CSG_Table_Value_Long(void)
Definition: table_value.h:466
SG_JulianDayNumber_To_Date
bool SG_JulianDayNumber_To_Date(double JDN, int &y, int &m, int &d)
Definition: datetime.cpp:678
CSG_Table_Value_Date::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:307
SG_TABLE_VALUE_TYPE_Long
@ SG_TABLE_VALUE_TYPE_Long
Definition: table_value.h:97
CSG_Table_Value_Binary::Set_NoData
virtual bool Set_NoData(void)
Definition: table_value.h:194
CSG_Table_Value_Int::asInt
virtual int asInt(void) const
Definition: table_value.h:437
CSG_Table_Value_Double::~CSG_Table_Value_Double
virtual ~CSG_Table_Value_Double(void)
Definition: table_value.h:547
CSG_String::asDouble
double asDouble(void) const
Definition: api_string.cpp:760
CSG_Table_Value_Double::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:602
CSG_String::c_str
const SG_Char * c_str(void) const
Definition: api_string.cpp:236
CSG_Table_Value_Binary::is_Equal
virtual bool is_Equal(const CSG_Table_Value &Value) const
Definition: table_value.h:205
CSG_Table_Value::asString
virtual const SG_Char * asString(int Decimals=-99) const =0
CSG_Table_Value_String::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:238
SG_TABLE_VALUE_TYPE_Binary
@ SG_TABLE_VALUE_TYPE_Binary
Definition: table_value.h:93
CSG_Table_Value::Set_Value
virtual bool Set_Value(int Value)=0
CSG_Table_Value_String::Set_Value
virtual bool Set_Value(double Value)
Definition: table_value.h:265
CSG_Table_Value::asInt
virtual int asInt(void) const =0
CSG_Table_Value_Long::~CSG_Table_Value_Long
virtual ~CSG_Table_Value_Long(void)
Definition: table_value.h:467
CSG_Table_Value_Double::operator=
virtual CSG_Table_Value & operator=(const CSG_Table_Value &Value)
Definition: table_value.h:608
CSG_Table_Value_String::asDouble
virtual double asDouble(void) const
Definition: table_value.h:274
CSG_Table_Value_Double::Set_Value
virtual bool Set_Value(const CSG_Bytes &Value)
Definition: table_value.h:552
CSG_Table_Value_Date::asString
virtual const SG_Char * asString(int Decimals=-99) const
Definition: table_value.h:341
datetime.h