FLImaging 6.5.13.1
MultiVar.h
1#pragma once
2
11#include "FLBase.h"
12#include "FLString.h"
13
14#include <vector>
15
17namespace FLImaging
18{
20 namespace Base
21 {
29 template <typename T>
30 class FL_EXPORT CMultiVar : public CFLBase
31 {
32 SupportToDuplicateObject(CMultiVar<T>,*this);
33 public:
43 {
46
49
52
55
58
60 ETemplateType_Double
61 };
62
71
79 virtual ~CMultiVar();
80
90 CMultiVar(const CMultiVar<int32_t>& mvMultiVar);
91
101 CMultiVar(const CMultiVar<uint32_t>& mvMultiVar);
102
112 CMultiVar(const CMultiVar<int64_t>& mvMultiVar);
113
123 CMultiVar(const CMultiVar<uint64_t>& mvMultiVar);
124
134 CMultiVar(const CMultiVar<float>& mvMultiVar);
135
145 CMultiVar(const CMultiVar<double>& mvMultiVar);
146
156 CMultiVar(const T& tVar1);
157
169 CMultiVar(const T& tVar1, const T& tVar2);
170
184 CMultiVar(const T& tVar1, const T& tVar2, const T& tVar3);
185
201 CMultiVar(const T& tVar1, const T& tVar2, const T& tVar3, const T& tVar4);
202
212 CMultiVar(const CFLString<wchar_t>& strValues);
213
225 const CMultiVar<T>& operator=(const CMultiVar<int32_t>& mvMultiVar);
226
238 const CMultiVar<T>& operator=(const CMultiVar<uint32_t>& mvMultiVar);
239
251 const CMultiVar<T>& operator=(const CMultiVar<int64_t>& mvMultiVar);
252
264 const CMultiVar<T>& operator=(const CMultiVar<uint64_t>& mvMultiVar);
265
277 const CMultiVar<T>& operator=(const CMultiVar<float>& mvMultiVar);
278
290 const CMultiVar<T>& operator=(const CMultiVar<double>& mvMultiVar);
291
303 const CMultiVar<T>& operator=(const T& tVar1);
304
316 T& operator[](int64_t i64Idx);
317
329 T operator[](int64_t i64Idx) const;
330
342 bool operator==(const CMultiVar<T>& mv) const;
343
355 bool operator!=(const CMultiVar<T>& mv) const;
356
368 operator CFLString<wchar_t>() const;
369
381 virtual ETemplateType GetTemplateType() const sealed;
382
390 virtual void Clear() sealed;
391
405 virtual const CResult Assign(const T& tVar1);
406
422 virtual const CResult Assign(const T& tVar1, const T& tVar2);
423
441 virtual const CResult Assign(const T& tVar1, const T& tVar2, const T& tVar3);
442
462 virtual const CResult Assign(const T& tVar1, const T& tVar2, const T& tVar3, const T& tVar4);
463
477 virtual const CResult Assign(const CMultiVar<int32_t>& mvMultiVar) sealed;
478
492 virtual const CResult Assign(const CMultiVar<uint32_t>& mvMultiVar) sealed;
493
507 virtual const CResult Assign(const CMultiVar<int64_t>& mvMultiVar) sealed;
508
522 virtual const CResult Assign(const CMultiVar<uint64_t>& mvMultiVar) sealed;
523
537 virtual const CResult Assign(const CMultiVar<float>& mvMultiVar) sealed;
538
552 virtual const CResult Assign(const CMultiVar<double>& mvMultiVar) sealed;
553
554
568 virtual const CResult Assign(const CMultiVar<int32_t>* pMvMultiVar) sealed;
569
583 virtual const CResult Assign(const CMultiVar<uint32_t>* pMvMultiVar) sealed;
584
598 virtual const CResult Assign(const CMultiVar<int64_t>* pMvMultiVar) sealed;
599
613 virtual const CResult Assign(const CMultiVar<uint64_t>* pMvMultiVar) sealed;
614
628 virtual const CResult Assign(const CMultiVar<float>* pMvMultiVar) sealed;
629
643 virtual const CResult Assign(const CMultiVar<double>* pMvMultiVar) sealed;
644
658 virtual const CResult Assign(const CFLString<wchar_t>& strValues) sealed;
659
675 virtual const CResult SetAt(int64_t i64Index, const T& tVal) sealed;
676
688 virtual T GetAt(int64_t i64Index) const sealed;
689
705 virtual const CResult InsertAt(int64_t i64Index, const T& tVal) sealed;
706
720 virtual const CResult DeleteAt(int64_t i64Index) sealed;
721
731 virtual void PushBack(const T& tValue) sealed;
732
742 virtual int64_t GetCount() const sealed;
743
755 virtual bool Equal(const CMultiVar<T>& mv) const sealed;
756
768 virtual bool Equal(const CMultiVar<T>* pMv) const sealed;
769
781 virtual CFLString<wchar_t> ToString() const sealed;
782
783 DeclareGetClassType();
784
785 protected:
786 const T* m_pTVars;
787 size_t m_stCount;
788 std::vector<T>* m_pVctVars;
789
790 friend class CMultiVar;
791 };
792
798
804
810
816
822
828 }
829}
Top-level base class of FLImaging.
Definition FLBase.h:36
Template type string class.
Definition INIUtilities.h:20
Multi variable class.
Definition MultiVar.h:31
virtual const CResult Assign(const CMultiVar< int64_t > *pMvMultiVar) sealed
Assign multi variable.
virtual const CResult InsertAt(int64_t i64Index, const T &tVal) sealed
Insert value at that index.
virtual const CResult Assign(const T &tVar1, const T &tVar2, const T &tVar3)
Assign values to multi variable.
virtual const CResult Assign(const CMultiVar< int32_t > *pMvMultiVar) sealed
Assign multi variable.
CMultiVar(const CMultiVar< uint64_t > &mvMultiVar)
Copy constructor (reference)
virtual bool Equal(const CMultiVar< T > &mv) const sealed
Compare other CMultiVar objects for the same size and value.
bool operator!=(const CMultiVar< T > &mv) const
Comparison operator.
virtual const CResult Assign(const CFLString< wchar_t > &strValues) sealed
Assign a comma-separated unicode string to a multi-variable object.
CMultiVar(const T &tVar1, const T &tVar2, const T &tVar3)
Constructor.
virtual const CResult Assign(const T &tVar1)
Assign values to multi variable.
CMultiVar(const CMultiVar< float > &mvMultiVar)
Copy constructor (reference)
virtual const CResult Assign(const CMultiVar< uint32_t > &mvMultiVar) sealed
Assign multi variable.
T operator[](int64_t i64Idx) const
Subscript operator.
virtual const CResult Assign(const CMultiVar< uint64_t > *pMvMultiVar) sealed
Assign multi variable.
CMultiVar(const T &tVar1, const T &tVar2)
Constructor.
CMultiVar(const CMultiVar< uint32_t > &mvMultiVar)
Copy constructor (reference)
CMultiVar(const CFLString< wchar_t > &strValues)
Constructor.
const CMultiVar< T > & operator=(const CMultiVar< int32_t > &mvMultiVar)
Assignment operator.
virtual const CResult Assign(const T &tVar1, const T &tVar2, const T &tVar3, const T &tVar4)
Assign values to multi variable.
CMultiVar(const CMultiVar< int32_t > &mvMultiVar)
Copy constructor (reference)
const CMultiVar< T > & operator=(const CMultiVar< uint32_t > &mvMultiVar)
Assignment operator.
virtual bool Equal(const CMultiVar< T > *pMv) const sealed
Compare other CMultiVar objects for the same size and value.
virtual const CResult Assign(const CMultiVar< uint64_t > &mvMultiVar) sealed
Assign multi variable.
virtual ETemplateType GetTemplateType() const sealed
Get the template type.
virtual const CResult Assign(const CMultiVar< double > &mvMultiVar) sealed
Assign multi variable.
CMultiVar(const CMultiVar< int64_t > &mvMultiVar)
Copy constructor (reference)
CMultiVar(const CMultiVar< double > &mvMultiVar)
Copy constructor (reference)
CMultiVar(const T &tVar1, const T &tVar2, const T &tVar3, const T &tVar4)
Constructor.
bool operator==(const CMultiVar< T > &mv) const
Comparison operator.
virtual const CResult Assign(const CMultiVar< float > *pMvMultiVar) sealed
Assign multi variable.
const CMultiVar< T > & operator=(const CMultiVar< double > &mvMultiVar)
Assignment operator.
virtual const CResult SetAt(int64_t i64Index, const T &tVal) sealed
Set the value of that index.
virtual const CResult Assign(const CMultiVar< int32_t > &mvMultiVar) sealed
Assign multi variable.
virtual ~CMultiVar()
Destructor.
virtual const CResult Assign(const CMultiVar< float > &mvMultiVar) sealed
Assign multi variable.
virtual const CResult Assign(const T &tVar1, const T &tVar2)
Assign values to multi variable.
const CMultiVar< T > & operator=(const T &tVar1)
Assignment operator.
virtual const CResult Assign(const CMultiVar< int64_t > &mvMultiVar) sealed
Assign multi variable.
virtual void PushBack(const T &tValue) sealed
Add value back.
ETemplateType
Template type.
Definition MultiVar.h:43
@ ETemplateType_Int32
Definition MultiVar.h:45
@ ETemplateType_Uint32
Definition MultiVar.h:48
@ ETemplateType_Float
Definition MultiVar.h:57
@ ETemplateType_Uint64
Definition MultiVar.h:54
@ ETemplateType_Int64
Definition MultiVar.h:51
virtual const CResult Assign(const CMultiVar< double > *pMvMultiVar) sealed
Assign multi variable.
T & operator[](int64_t i64Idx)
Subscript operator.
const CMultiVar< T > & operator=(const CMultiVar< uint64_t > &mvMultiVar)
Assignment operator.
const CMultiVar< T > & operator=(const CMultiVar< float > &mvMultiVar)
Assignment operator.
const CMultiVar< T > & operator=(const CMultiVar< int64_t > &mvMultiVar)
Assignment operator.
CMultiVar(const T &tVar1)
Constructor.
virtual void Clear() sealed
Clear multi variable.
virtual const CResult DeleteAt(int64_t i64Index) sealed
Delete value at that index.
CMultiVar()
Default constructor.
virtual const CResult Assign(const CMultiVar< uint32_t > *pMvMultiVar) sealed
Assign multi variable.
virtual CFLString< wchar_t > ToString() const sealed
Obtained as a comma-separated string.
virtual T GetAt(int64_t i64Index) const sealed
Get the value at that index.
virtual int64_t GetCount() const sealed
Get number of values.
FLImaging module execution result object.
Definition ResultsDef.h:1514