#include "detail/common.h"
#include "detail/type_caster_base.h"
#include "cast.h"
#include "operators.h"
#include <algorithm>
#include <sstream>
#include <type_traits>
Go to the source code of this file.
Typedefs | |
template<typename Vector > | |
using | vector_needs_copy = negation< std::is_same< decltype(std::declval< Vector >()[typename Vector::size_type()]), typename Vector::value_type & > > |
Functions | |
template<typename... Args> | |
constexpr bool | args_any_are_buffer () |
template<typename Map , typename holder_type = std::unique_ptr<Map>, typename... Args> | |
class_< Map, holder_type > | bind_map (handle scope, const std::string &name, Args &&...args) |
template<typename Vector , typename holder_type = std::unique_ptr<Vector>, typename... Args> | |
class_< Vector, holder_type > | bind_vector (handle scope, std::string const &name, Args &&...args) |
template<typename , typename , typename... Args> | |
void | map_assignment (const Args &...) |
template<typename Map , typename Class_ > | |
void | map_assignment (enable_if_t< is_copy_assignable< typename Map::mapped_type >::value, Class_ > &cl) |
template<typename Map , typename Class_ > | |
void | map_assignment (enable_if_t<!is_copy_assignable< typename Map::mapped_type >::value &&is_copy_constructible< typename Map::mapped_type >::value, Class_ > &cl) |
template<typename Map , typename Class_ > | |
auto | map_if_insertion_operator (Class_ &cl, std::string const &name) -> decltype(std::declval< std::ostream & >()<< std::declval< typename Map::key_type >()<< std::declval< typename Map::mapped_type >(), void()) |
template<typename , typename , typename... Args> | |
void | map_if_insertion_operator (const Args &...) |
template<typename Vector , typename Class_ > | |
void | vector_accessor (enable_if_t< vector_needs_copy< Vector >::value, Class_ > &cl) |
template<typename Vector , typename Class_ > | |
void | vector_accessor (enable_if_t<!vector_needs_copy< Vector >::value, Class_ > &cl) |
template<typename Vector , typename Class_ , typename... Args> | |
void | vector_buffer (Class_ &cl) |
template<typename Vector , typename Class_ , typename... Args> | |
void | vector_buffer_impl (Class_ &, std::false_type) |
template<typename Vector , typename Class_ , typename... Args> | |
void | vector_buffer_impl (Class_ &cl, std::true_type) |
template<typename , typename , typename... Args> | |
void | vector_if_copy_constructible (const Args &...) |
template<typename Vector , typename Class_ > | |
void | vector_if_copy_constructible (enable_if_t< is_copy_constructible< Vector >::value, Class_ > &cl) |
template<typename , typename , typename... Args> | |
void | vector_if_equal_operator (const Args &...) |
template<typename Vector , typename Class_ > | |
void | vector_if_equal_operator (enable_if_t< is_comparable< Vector >::value, Class_ > &cl) |
template<typename Vector , typename Class_ > | |
auto | vector_if_insertion_operator (Class_ &cl, std::string const &name) -> decltype(std::declval< std::ostream & >()<< std::declval< typename Vector::value_type >(), void()) |
template<typename , typename , typename... Args> | |
void | vector_if_insertion_operator (const Args &...) |
template<typename , typename , typename... Args> | |
void | vector_modifiers (const Args &...) |
template<typename Vector , typename Class_ > | |
void | vector_modifiers (enable_if_t< is_copy_constructible< typename Vector::value_type >::value, Class_ > &cl) |
using vector_needs_copy = negation<std::is_same<decltype(std::declval<Vector>()[typename Vector::size_type()]), typename Vector::value_type &> > |
Definition at line 312 of file stl_bind.h.
|
constexpr |
Definition at line 420 of file stl_bind.h.
class_<Map, holder_type> bind_map | ( | handle | scope, |
const std::string & | name, | ||
Args &&... | args | ||
) |
Definition at line 700 of file stl_bind.h.
class_<Vector, holder_type> bind_vector | ( | handle | scope, |
std::string const & | name, | ||
Args &&... | args | ||
) |
Definition at line 491 of file stl_bind.h.
void map_assignment | ( | const Args & | ... | ) |
Definition at line 582 of file stl_bind.h.
void map_assignment | ( | enable_if_t< is_copy_assignable< typename Map::mapped_type >::value, Class_ > & | cl | ) |
Definition at line 586 of file stl_bind.h.
void map_assignment | ( | enable_if_t<!is_copy_assignable< typename Map::mapped_type >::value &&is_copy_constructible< typename Map::mapped_type >::value, Class_ > & | cl | ) |
Definition at line 604 of file stl_bind.h.
auto map_if_insertion_operator | ( | Class_ & | cl, |
std::string const & | name | ||
) | -> decltype(std::declval<std::ostream &>() << std::declval<typename Map::key_type>() << std::declval<typename Map::mapped_type>(), void()) |
Definition at line 623 of file stl_bind.h.
void map_if_insertion_operator | ( | const Args & | ... | ) |
Definition at line 580 of file stl_bind.h.
void vector_accessor | ( | enable_if_t< vector_needs_copy< Vector >::value, Class_ > & | cl | ) |
Definition at line 353 of file stl_bind.h.
void vector_accessor | ( | enable_if_t<!vector_needs_copy< Vector >::value, Class_ > & | cl | ) |
Definition at line 316 of file stl_bind.h.
void vector_buffer | ( | Class_ & | cl | ) |
Definition at line 480 of file stl_bind.h.
void vector_buffer_impl | ( | Class_ & | , |
std::false_type | |||
) |
Definition at line 477 of file stl_bind.h.
void vector_buffer_impl | ( | Class_ & | cl, |
std::true_type | |||
) |
Definition at line 429 of file stl_bind.h.
void vector_if_copy_constructible | ( | const Args & | ... | ) |
Definition at line 79 of file stl_bind.h.
void vector_if_copy_constructible | ( | enable_if_t< is_copy_constructible< Vector >::value, Class_ > & | cl | ) |
Definition at line 88 of file stl_bind.h.
void vector_if_equal_operator | ( | const Args & | ... | ) |
Definition at line 81 of file stl_bind.h.
void vector_if_equal_operator | ( | enable_if_t< is_comparable< Vector >::value, Class_ > & | cl | ) |
Definition at line 93 of file stl_bind.h.
auto vector_if_insertion_operator | ( | Class_ & | cl, |
std::string const & | name | ||
) | -> decltype(std::declval<std::ostream &>() << std::declval<typename Vector::value_type>(), void()) |
Definition at line 382 of file stl_bind.h.
void vector_if_insertion_operator | ( | const Args & | ... | ) |
Definition at line 83 of file stl_bind.h.
void vector_modifiers | ( | const Args & | ... | ) |
Definition at line 85 of file stl_bind.h.
void vector_modifiers | ( | enable_if_t< is_copy_constructible< typename Vector::value_type >::value, Class_ > & | cl | ) |
Slicing protocol
Definition at line 130 of file stl_bind.h.