be explicit about inlining feature.hpp methods
This commit is contained in:
parent
519fd16535
commit
ebf9dd39d4
1 changed files with 30 additions and 28 deletions
|
@ -67,21 +67,21 @@ public:
|
||||||
context()
|
context()
|
||||||
: mapping_() {}
|
: mapping_() {}
|
||||||
|
|
||||||
size_type push(key_type const& name)
|
inline size_type push(key_type const& name)
|
||||||
{
|
{
|
||||||
size_type index = mapping_.size();
|
size_type index = mapping_.size();
|
||||||
mapping_.insert(std::make_pair(name, index));
|
mapping_.insert(std::make_pair(name, index));
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
void add(key_type const& name, size_type index)
|
inline void add(key_type const& name, size_type index)
|
||||||
{
|
{
|
||||||
mapping_.insert(std::make_pair(name, index));
|
mapping_.insert(std::make_pair(name, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
size_type size() const { return mapping_.size(); }
|
inline size_type size() const { return mapping_.size(); }
|
||||||
const_iterator begin() const { return mapping_.begin();}
|
inline const_iterator begin() const { return mapping_.begin();}
|
||||||
const_iterator end() const { return mapping_.end();}
|
inline const_iterator end() const { return mapping_.end();}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
map_type mapping_;
|
map_type mapping_;
|
||||||
|
@ -114,18 +114,18 @@ public:
|
||||||
inline void set_id(mapnik::value_integer id) { id_ = id;}
|
inline void set_id(mapnik::value_integer id) { id_ = id;}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void put(context_type::key_type const& key, T const& val)
|
inline void put(context_type::key_type const& key, T const& val)
|
||||||
{
|
{
|
||||||
put(key,value(val));
|
put(key,value(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void put_new(context_type::key_type const& key, T const& val)
|
inline void put_new(context_type::key_type const& key, T const& val)
|
||||||
{
|
{
|
||||||
put_new(key,value(val));
|
put_new(key,value(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
void put(context_type::key_type const& key, value const& val)
|
inline void put(context_type::key_type const& key, value const& val)
|
||||||
{
|
{
|
||||||
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
||||||
if (itr != ctx_->mapping_.end()
|
if (itr != ctx_->mapping_.end()
|
||||||
|
@ -139,7 +139,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void put_new(context_type::key_type const& key, value const& val)
|
inline void put_new(context_type::key_type const& key, value const& val)
|
||||||
{
|
{
|
||||||
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
||||||
if (itr != ctx_->mapping_.end()
|
if (itr != ctx_->mapping_.end()
|
||||||
|
@ -155,12 +155,12 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool has_key(context_type::key_type const& key) const
|
inline bool has_key(context_type::key_type const& key) const
|
||||||
{
|
{
|
||||||
return (ctx_->mapping_.find(key) != ctx_->mapping_.end());
|
return (ctx_->mapping_.find(key) != ctx_->mapping_.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
value_type const& get(context_type::key_type const& key) const
|
inline value_type const& get(context_type::key_type const& key) const
|
||||||
{
|
{
|
||||||
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
context_type::map_type::const_iterator itr = ctx_->mapping_.find(key);
|
||||||
if (itr != ctx_->mapping_.end())
|
if (itr != ctx_->mapping_.end())
|
||||||
|
@ -169,74 +169,76 @@ public:
|
||||||
return default_value;
|
return default_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
value_type const& get(std::size_t index) const
|
inline value_type const& get(std::size_t index) const
|
||||||
{
|
{
|
||||||
if (index < data_.size())
|
if (index < data_.size())
|
||||||
return data_[index];
|
return data_[index];
|
||||||
return default_value;
|
return default_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::size_t size() const
|
inline std::size_t size() const
|
||||||
{
|
{
|
||||||
return data_.size();
|
return data_.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
cont_type const& get_data() const
|
inline cont_type const& get_data() const
|
||||||
{
|
{
|
||||||
return data_;
|
return data_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_data(cont_type const& data)
|
inline void set_data(cont_type const& data)
|
||||||
{
|
{
|
||||||
data_ = data;
|
data_ = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
context_ptr context()
|
inline context_ptr context()
|
||||||
{
|
{
|
||||||
return ctx_;
|
return ctx_;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::ptr_vector<geometry_type> const& paths() const
|
inline boost::ptr_vector<geometry_type> const& paths() const
|
||||||
{
|
{
|
||||||
return geom_cont_;
|
return geom_cont_;
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::ptr_vector<geometry_type> & paths()
|
inline boost::ptr_vector<geometry_type> & paths()
|
||||||
{
|
{
|
||||||
return geom_cont_;
|
return geom_cont_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void add_geometry(geometry_type * geom)
|
inline void add_geometry(geometry_type * geom)
|
||||||
{
|
{
|
||||||
geom_cont_.push_back(geom);
|
geom_cont_.push_back(geom);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::size_t num_geometries() const
|
inline std::size_t num_geometries() const
|
||||||
{
|
{
|
||||||
return geom_cont_.size();
|
return geom_cont_.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
geometry_type const& get_geometry(std::size_t index) const
|
inline geometry_type const& get_geometry(std::size_t index) const
|
||||||
{
|
{
|
||||||
return geom_cont_[index];
|
return geom_cont_[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
geometry_type& get_geometry(std::size_t index)
|
inline geometry_type& get_geometry(std::size_t index)
|
||||||
{
|
{
|
||||||
return geom_cont_[index];
|
return geom_cont_[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
box2d<double> envelope() const
|
inline box2d<double> envelope() const
|
||||||
{
|
{
|
||||||
// TODO - cache this
|
// TODO - cache this
|
||||||
box2d<double> result;
|
box2d<double> result;
|
||||||
|
bool first = true;
|
||||||
for (unsigned i=0;i<num_geometries();++i)
|
for (unsigned i=0;i<num_geometries();++i)
|
||||||
{
|
{
|
||||||
geometry_type const& geom = get_geometry(i);
|
geometry_type const& geom = get_geometry(i);
|
||||||
if (i==0)
|
if (first)
|
||||||
{
|
{
|
||||||
box2d<double> box = geom.envelope();
|
box2d<double> box = geom.envelope();
|
||||||
result.init(box.minx(),box.miny(),box.maxx(),box.maxy());
|
result.init(box.minx(),box.miny(),box.maxx(),box.maxy());
|
||||||
|
first = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -246,22 +248,22 @@ public:
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
raster_ptr const& get_raster() const
|
inline raster_ptr const& get_raster() const
|
||||||
{
|
{
|
||||||
return raster_;
|
return raster_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_raster(raster_ptr const& raster)
|
inline void set_raster(raster_ptr const& raster)
|
||||||
{
|
{
|
||||||
raster_ = raster;
|
raster_ = raster;
|
||||||
}
|
}
|
||||||
|
|
||||||
feature_kv_iterator begin() const
|
inline feature_kv_iterator begin() const
|
||||||
{
|
{
|
||||||
return feature_kv_iterator(*this,true);
|
return feature_kv_iterator(*this,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
feature_kv_iterator end() const
|
inline feature_kv_iterator end() const
|
||||||
{
|
{
|
||||||
return feature_kv_iterator(*this);
|
return feature_kv_iterator(*this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue