diff options
Diffstat (limited to 'inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/property_map/vector_property_map.hpp')
-rw-r--r-- | inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/property_map/vector_property_map.hpp | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/property_map/vector_property_map.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/property_map/vector_property_map.hpp deleted file mode 100644 index ceb975a3d..000000000 --- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/property_map/vector_property_map.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (C) Vladimir Prus 2003. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/graph/vector_property_map.html for -// documentation. -// - -#ifndef VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04 -#define VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04 - -#include <boost/property_map/property_map.hpp> -#include <boost/shared_ptr.hpp> -#include <vector> - -namespace boost { - template<typename T, typename IndexMap = identity_property_map> - class vector_property_map - : public boost::put_get_helper< - typename std::iterator_traits< - typename std::vector<T>::iterator >::reference, - vector_property_map<T, IndexMap> > - { - public: - typedef typename property_traits<IndexMap>::key_type key_type; - typedef T value_type; - typedef typename std::iterator_traits< - typename std::vector<T>::iterator >::reference reference; - typedef boost::lvalue_property_map_tag category; - - vector_property_map(const IndexMap& index = IndexMap()) - : store(new std::vector<T>()), index(index) - {} - - vector_property_map(unsigned initial_size, - const IndexMap& index = IndexMap()) - : store(new std::vector<T>(initial_size)), index(index) - {} - - typename std::vector<T>::iterator storage_begin() - { - return store->begin(); - } - - typename std::vector<T>::iterator storage_end() - { - return store->end(); - } - - typename std::vector<T>::const_iterator storage_begin() const - { - return store->begin(); - } - - typename std::vector<T>::const_iterator storage_end() const - { - return store->end(); - } - - IndexMap& get_index_map() { return index; } - const IndexMap& get_index_map() const { return index; } - - public: - // Copy ctor absent, default semantics is OK. - // Assignment operator absent, default semantics is OK. - // CONSIDER: not sure that assignment to 'index' is correct. - - reference operator[](const key_type& v) const { - typename property_traits<IndexMap>::value_type i = get(index, v); - if (static_cast<unsigned>(i) >= store->size()) { - store->resize(i + 1, T()); - } - return (*store)[i]; - } - private: - // Conceptually, we have a vector of infinite size. For practical - // purposes, we start with an empty vector and grow it as needed. - // Note that we cannot store pointer to vector here -- we cannot - // store pointer to data, because if copy of property map resizes - // the vector, the pointer to data will be invalidated. - // I wonder if class 'pmap_ref' is simply needed. - shared_ptr< std::vector<T> > store; - IndexMap index; - }; - - template<typename T, typename IndexMap> - vector_property_map<T, IndexMap> - make_vector_property_map(IndexMap index) - { - return vector_property_map<T, IndexMap>(index); - } -} - -#ifdef BOOST_GRAPH_USE_MPI -#include <boost/property_map/parallel/vector_property_map.hpp> -#endif - -#endif |