CoinUtils  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinShallowPackedVector.hpp
Go to the documentation of this file.
1 /* $Id: CoinShallowPackedVector.hpp 1498 2011-11-02 15:25:35Z mjs $ */
2 // Copyright (C) 2000, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 #ifndef CoinShallowPackedVector_H
7 #define CoinShallowPackedVector_H
8 
9 #if defined(_MSC_VER)
10 // Turn off compiler warning about long names
11 # pragma warning(disable:4786)
12 #endif
13 
14 #include "CoinError.hpp"
15 #include "CoinPackedVectorBase.hpp"
16 
75  friend void CoinShallowPackedVectorUnitTest();
76 
77 public:
78 
81 
82  virtual int getNumElements() const { return nElements_; }
84  virtual const int * getIndices() const { return indices_; }
86  virtual const double * getElements() const { return elements_; }
88 
91 
92  void clear();
98  void setVector(int size, const int * indices, const double * elements,
99  bool testForDuplicateIndex = true);
101 
114  CoinShallowPackedVector(int size,
115  const int * indices, const double * elements,
116  bool testForDuplicateIndex = true);
124  void print();
126 
127 private:
130 
131  const int * indices_;
133  const double * elements_;
137 };
138 
139 //#############################################################################
145 void
147 
148 #endif