CoinUtils  2.11.4
CoinShallowPackedVector.hpp
Go to the documentation of this file.
1 /* $Id: CoinShallowPackedVector.hpp 2083 2019-01-06 19:38:09Z unxusr $ */
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 
76 
77 public:
81  virtual int getNumElements() const { return nElements_; }
83  virtual const int *getIndices() const { return indices_; }
85  virtual const double *getElements() const { return elements_; }
87 
91  void clear();
97  void setVector(int size, const int *indices, const double *elements,
98  bool testForDuplicateIndex = true);
100 
114  const int *indices, const double *elements,
115  bool testForDuplicateIndex = true);
123  void print();
125 
126 private:
130  const int *indices_;
132  const double *elements_;
136 };
137 
138 //#############################################################################
145 
146 #endif
147 
148 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
149 */
void CoinShallowPackedVectorUnitTest()
A function that tests the methods in the CoinShallowPackedVector class.
Abstract base class for various sparse vectors.
bool testForDuplicateIndex() const
Returns true if the vector should be tested for duplicate indices when they can occur.
virtual ~CoinShallowPackedVector()
Destructor.
const int * indices_
Vector indices.
CoinShallowPackedVector(const CoinShallowPackedVector &)
Copy constructor.
virtual const double * getElements() const
Get element values.
CoinShallowPackedVector(bool testForDuplicateIndex=true)
Default constructor.
virtual const int * getIndices() const
Get indices of elements.
void setVector(int size, const int *indices, const double *elements, bool testForDuplicateIndex=true)
just like the explicit constructor
const double * elements_
Vector elements.
void clear()
Reset the vector (as if were just created an empty vector)
CoinShallowPackedVector(int size, const int *indices, const double *elements, bool testForDuplicateIndex=true)
Explicit Constructor.
int nElements_
Size of indices and elements vectors.
CoinShallowPackedVector & operator=(const CoinPackedVectorBase &x)
Assignment operator from a CoinPackedVectorBase.
CoinShallowPackedVector(const CoinPackedVectorBase &)
Copy constructor from the base class.
virtual int getNumElements() const
Get length of indices and elements vectors.
friend void CoinShallowPackedVectorUnitTest()
A function that tests the methods in the CoinShallowPackedVector class.
void print()
Print vector information.
CoinShallowPackedVector & operator=(const CoinShallowPackedVector &x)
Assignment operator.