Scarab  v2.9.0
Project 8 C++ Utility Library
Classes | Macros | Typedefs | Functions | Variables
test_class.cpp File Reference
#include "pybind11_tests.h"
#include "constructor_stats.h"
#include "local_bindings.h"
#include <pybind11/stl.h>
Include dependency graph for test_class.cpp:

Go to the source code of this file.

Classes

struct  NoBraceInitialization
 
class  BreaksBase< N >
 
class  BreaksTramp< N >
 

Macros

#define CHECK_BASE(N)
 
#define CHECK_ALIAS(N)
 
#define CHECK_NOALIAS(N)
 
#define CHECK_HOLDER(N, TYPE)
 
#define CHECK_BROKEN(N)
 

Typedefs

typedef py::class_< BreaksBase< 1 >, std::unique_ptr< BreaksBase< 1 > >, BreaksTramp< 1 > > DoesntBreak1
 
typedef py::class_< BreaksBase< 2 >, BreaksTramp< 2 >, std::unique_ptr< BreaksBase< 2 > > > DoesntBreak2
 
typedef py::class_< BreaksBase< 3 >, std::unique_ptr< BreaksBase< 3 > > > DoesntBreak3
 
typedef py::class_< BreaksBase< 4 >, BreaksTramp< 4 > > DoesntBreak4
 
typedef py::class_< BreaksBase< 5 > > DoesntBreak5
 
typedef py::class_< BreaksBase< 6 >, std::shared_ptr< BreaksBase< 6 > >, BreaksTramp< 6 > > DoesntBreak6
 
typedef py::class_< BreaksBase< 7 >, BreaksTramp< 7 >, std::shared_ptr< BreaksBase< 7 > > > DoesntBreak7
 
typedef py::class_< BreaksBase< 8 >, std::shared_ptr< BreaksBase< 8 > > > DoesntBreak8
 

Functions

void test_submodule_class_ (py::module &)
 

Variables

test_initializer class_ ("class_", test_submodule_class_)
 

Macro Definition Documentation

◆ CHECK_ALIAS

#define CHECK_ALIAS (   N)
Value:
static_assert(DoesntBreak##N::has_alias && std::is_same<typename DoesntBreak##N::type_alias, BreaksTramp<N>>::value, \
"DoesntBreak" #N " has wrong type_alias!")

Definition at line 386 of file test_class.cpp.

◆ CHECK_BASE

#define CHECK_BASE (   N)
Value:
static_assert(std::is_same<typename DoesntBreak##N::type, BreaksBase<N>>::value, \
"DoesntBreak" #N " has wrong type!")
const detail::type_info * type
Definition: cast.h:453

Definition at line 383 of file test_class.cpp.

◆ CHECK_BROKEN

#define CHECK_BROKEN (   N)
Value:
static_assert(std::is_same<typename Breaks##N::type, BreaksBase<-N>>::value, \
"Breaks1 has wrong type!");
const detail::type_info * type
Definition: cast.h:453

Definition at line 401 of file test_class.cpp.

◆ CHECK_HOLDER

#define CHECK_HOLDER (   N,
  TYPE 
)
Value:
static_assert(std::is_same<typename DoesntBreak##N::holder_type, std::TYPE##_ptr<BreaksBase<N>>>::value, \
"DoesntBreak" #N " has wrong holder_type!")

Definition at line 391 of file test_class.cpp.

◆ CHECK_NOALIAS

#define CHECK_NOALIAS (   N)
Value:
static_assert(!DoesntBreak##N::has_alias && std::is_void<typename DoesntBreak##N::type_alias>::value, \
"DoesntBreak" #N " has type alias, but shouldn't!")

Definition at line 388 of file test_class.cpp.

Typedef Documentation

◆ DoesntBreak1

typedef py::class_<BreaksBase<1>, std::unique_ptr<BreaksBase<1> >, BreaksTramp<1> > DoesntBreak1

Definition at line 375 of file test_class.cpp.

◆ DoesntBreak2

typedef py::class_<BreaksBase<2>, BreaksTramp<2>, std::unique_ptr<BreaksBase<2> > > DoesntBreak2

Definition at line 376 of file test_class.cpp.

◆ DoesntBreak3

typedef py::class_<BreaksBase<3>, std::unique_ptr<BreaksBase<3> > > DoesntBreak3

Definition at line 377 of file test_class.cpp.

◆ DoesntBreak4

Definition at line 378 of file test_class.cpp.

◆ DoesntBreak5

Definition at line 379 of file test_class.cpp.

◆ DoesntBreak6

typedef py::class_<BreaksBase<6>, std::shared_ptr<BreaksBase<6> >, BreaksTramp<6> > DoesntBreak6

Definition at line 380 of file test_class.cpp.

◆ DoesntBreak7

typedef py::class_<BreaksBase<7>, BreaksTramp<7>, std::shared_ptr<BreaksBase<7> > > DoesntBreak7

Definition at line 381 of file test_class.cpp.

◆ DoesntBreak8

typedef py::class_<BreaksBase<8>, std::shared_ptr<BreaksBase<8> > > DoesntBreak8

Definition at line 382 of file test_class.cpp.

Function Documentation

◆ test_submodule_class_()

void test_submodule_class_ ( py::module m)

Definition at line 28 of file test_class.cpp.

Variable Documentation

◆ class_

test_initializer class_("class_", test_submodule_class_)

Definition at line 888 of file pybind11.h.