Autovector.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2012 by Teledyne DALSA
3 // Section: Digital Imaging
4 // Project: GenAPI
5 // Author: Eric Bourbonnais
6 //
7 // License: This file is published under the license of the EMVA GenICam Standard Group.
8 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
9 // If for some reason you are missing this file please contact the EMVA or visit the website
10 // (http://www.genicam.org) for a full copy.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
16 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
18 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
19 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
20 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
22 // POSSIBILITY OF SUCH DAMAGE.
23 //-----------------------------------------------------------------------------
24 //
31 
33 #ifndef GENAPI_AUTOVECTOR_H
34 #define GENAPI_AUTOVECTOR_H
35 
36 #include <vector>
37 #include <Base/GCTypes.h>
38 #include <GenApi/GenApiDll.h>
39 
40 #if defined (_WIN32)
41  typedef long ATOMIC_VARIABLE;
42 #elif (defined(__GNUC__) && (defined (__linux__)) || defined (__APPLE__)) || defined(VXWORKS)
43  typedef uint32_t ATOMIC_VARIABLE;
44 #else
45 # error Unsupported platform
46 #endif
47 
49 {
55  {
56  public:
57  explicit int64_autovector_t();
59  explicit int64_autovector_t( size_t n );
60  virtual ~int64_autovector_t( void );
61 
63 
64  int64_t& operator[]( size_t uiIndex );
65  const int64_t& operator[]( size_t uiIndex ) const;
66  size_t size( void ) const;
67  protected:
68  std::vector<int64_t>* _pv;
69  ATOMIC_VARIABLE* _pCount;
70  };
71 
77  {
78  public:
79  explicit double_autovector_t();
81  explicit double_autovector_t( size_t n );
82  virtual ~double_autovector_t( void );
83 
85 
86  double& operator[]( size_t uiIndex );
87  const double& operator[]( size_t uiIndex ) const;
88  size_t size( void )const;
89  protected:
90  std::vector<double>* _pv;
91  ATOMIC_VARIABLE* _pCount;
92  };
93 }
94 
95 #endif // GENAPI_AUTOVECTOR_H
virtual void operator=(bool Value)
Set node value.
Definition: IBoolean.h:64
Vector of doubles with reference counting.
Definition: Autovector.h:76
__int64 int64_t
Definition: config-win32.h:21
std::vector< int64_t > * _pv
Definition: Autovector.h:68
std::vector< double > * _pv
Definition: Autovector.h:90
#define GENAPI_DECL
Definition: GenApiDll.h:55
Vector of integers with reference counting.
Definition: Autovector.h:54
declspec&#39;s to be used for GenApi Windows dll
Lexical analyzer for CIntSwissKnife.
Definition: Autovector.h:48
Platform-dependent type definitions.


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:40