File: vcl_vector.h

package info (click to toggle)
insighttoolkit 3.20.1%2Bgit20120521-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 80,652 kB
  • sloc: cpp: 458,133; ansic: 196,223; fortran: 28,000; python: 3,839; tcl: 1,811; sh: 1,184; java: 583; makefile: 430; csh: 220; perl: 193; xml: 20
file content (41 lines) | stat: -rw-r--r-- 1,082 bytes parent folder | download | duplicates (8)
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
#ifndef vcl_vector_h_
#define vcl_vector_h_

#include "vcl_compiler.h"

// -------------------- emulation
#if !VCL_USE_NATIVE_STL
# include "emulation/vcl_vector.h"

// -------------------- sunpro 5.0
#elif defined(VCL_SUNPRO_CC_50) && !defined(VCL_SUNPRO_CC_56)
# include "sunpro/vcl_vector.h"

// -------------------- iso
#else
# include "iso/vcl_vector.h"
#endif

// Intel compiler's std::swap can't handle the special bit-iterator of
// vector<bool>. But, on systems with newer GCCs, the Intel compiler
// can use the GNU library, which doesn't have this problem.
#if defined(VCL_ICC_8) && defined(__INTEL_CXXLIB_ICC)
# include "vcl_utility.h"
namespace std {
  inline void swap(std::vector<bool, std::allocator<bool> >::iterator::reference a,
                   std::vector<bool, std::allocator<bool> >::iterator::reference b)
  {
    bool tmp = a;
    a = b;
    b = tmp;
  }
} // end namespace std
#endif

#define VCL_VECTOR_INSTANTIATE extern "you must include vcl_vector.txx first"

#if VCL_USE_IMPLICIT_TEMPLATES
# include "vcl_vector.txx"
#endif

#endif // vcl_vector_h_