Bonmin
1.8.9
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Interfaces
BonTypes.hpp
Go to the documentation of this file.
1
#ifndef __BonTypes_H_
2
#define __BonTypes_H_
3
#include<vector>
4
#include "
CoinSmartPtr.hpp
"
5
6
namespace
Bonmin
{
8
template
<
typename
T>
9
class
vector
:
public
std::vector<T>{
10
public
:
12
vector
(): std::
vector
<T>(){}
14
vector
(
size_t
n,
const
T& v): std::
vector
<T>(n,v){}
16
vector
(
const
vector<T>
& other): std::
vector
<T>(other){}
18
vector
(
const
std::vector<T>& other): std::
vector
<T>(other){}
20
vector
(
size_t
n): std::
vector
<T>(n){}
22
vector<T>
&
operator=
(
const
vector<T>
& other){
23
std::vector<T>::operator=(other);
24
return
(*
this
);}
25
26
vector<T>
&
operator=
(
const
std::vector<T>& other){
27
return
std::vector<T>::operator=(other);
28
return
(*
this
);}
29
31
inline
T*
operator()
(){
32
return
&(*std::vector<T>::begin());
33
}
34
35
inline
const
T*
operator()
()
const
{
36
return
&(*std::vector<T>::begin());
37
}
38
};
39
40
//structure to store an object of class X in a Coin::ReferencedObject
41
template
<
class
X>
42
struct
SimpleReferenced
:
public
Coin::ReferencedObject
{
44
X
object
;
45
46
const
X&
operator()
()
const
{
47
return
object
;}
48
49
X&
operator()
() {
50
return
object
;}
51
52
};
53
//structure to store a pointer to an object of class X in a
54
// Coin::ReferencedObject
55
template
<
class
X>
56
struct
SimpleReferencedPtr
:
public
Coin::ReferencedObject
{
58
X *
object
;
59
60
SimpleReferencedPtr
():
61
object
(NULL){}
62
63
~SimpleReferencedPtr
(){
64
delete
object
;}
65
66
const
X&
operator()
()
const
{
67
return
*
object
;}
68
69
X&
operator()
() {
70
return
*
object
;}
71
72
const
X*
ptr
()
const
{
73
return
object
;}
74
75
X*
ptr
(){
76
return
object
;}
77
};
78
79
template
<
class
X>
80
SimpleReferenced<X>
*
make_referenced
(X other){
81
SimpleReferenced<X>
* ret_val =
new
SimpleReferenced<X>
;
82
ret_val->
object
= other;
83
return
ret_val;
84
}
85
template
<
class
X>
86
SimpleReferencedPtr<X>
*
make_referenced
(X* other){
87
SimpleReferencedPtr <X> * ret_val =
new
SimpleReferencedPtr<X>
;
88
ret_val->
object
= other;
89
return
ret_val;
90
}
91
92
93
}
94
#endif
95
CoinSmartPtr.hpp
Bonmin::vector::operator()
T * operator()()
Access pointer to first element of storage.
Definition
BonTypes.hpp:31
Bonmin::vector::vector
vector(size_t n, const T &v)
Constructor with initialization.
Definition
BonTypes.hpp:14
Bonmin::vector::vector
vector()
Default constructor.
Definition
BonTypes.hpp:12
Bonmin::vector::vector
vector(const vector< T > &other)
Copy constructor.
Definition
BonTypes.hpp:16
Bonmin::vector::operator=
vector< T > & operator=(const std::vector< T > &other)
Assignment.
Definition
BonTypes.hpp:26
Bonmin::vector::operator()
const T * operator()() const
Access pointer to first element of storage.
Definition
BonTypes.hpp:35
Bonmin::vector::vector
vector(size_t n)
constructor with size.
Definition
BonTypes.hpp:20
Bonmin::vector::vector
vector(const std::vector< T > &other)
Copy constructor.
Definition
BonTypes.hpp:18
Bonmin::vector::operator=
vector< T > & operator=(const vector< T > &other)
Assignment.
Definition
BonTypes.hpp:22
Coin::ReferencedObject
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition
BonAmplSetup.hpp:16
Bonmin::make_referenced
SimpleReferenced< X > * make_referenced(X other)
Definition
BonTypes.hpp:80
Bonmin::SimpleReferencedPtr
Definition
BonTypes.hpp:56
Bonmin::SimpleReferencedPtr::SimpleReferencedPtr
SimpleReferencedPtr()
Definition
BonTypes.hpp:60
Bonmin::SimpleReferencedPtr::operator()
X & operator()()
Definition
BonTypes.hpp:69
Bonmin::SimpleReferencedPtr::ptr
const X * ptr() const
Definition
BonTypes.hpp:72
Bonmin::SimpleReferencedPtr::operator()
const X & operator()() const
Definition
BonTypes.hpp:66
Bonmin::SimpleReferencedPtr::object
X * object
The object.
Definition
BonTypes.hpp:58
Bonmin::SimpleReferencedPtr::~SimpleReferencedPtr
~SimpleReferencedPtr()
Definition
BonTypes.hpp:63
Bonmin::SimpleReferencedPtr::ptr
X * ptr()
Definition
BonTypes.hpp:75
Bonmin::SimpleReferenced
Definition
BonTypes.hpp:42
Bonmin::SimpleReferenced::operator()
X & operator()()
Definition
BonTypes.hpp:49
Bonmin::SimpleReferenced::operator()
const X & operator()() const
Definition
BonTypes.hpp:46
Bonmin::SimpleReferenced::object
X object
The object.
Definition
BonTypes.hpp:44
Generated by
1.17.0