cppyabm  1.0.17
An agent-based library to integrate C++ and Python
Classes | Macros | Functions
test_virtual_functions.cpp File Reference
#include "pybind11_tests.h"
#include "constructor_stats.h"
#include <pybind11/functional.h>
#include <thread>

Go to the source code of this file.

Classes

class  ExampleVirt
 
class  PyExampleVirt
 
class  NonCopyable
 
class  Movable
 
class  NCVirt
 
class  NCVirtTrampoline
 
struct  Base
 
struct  DispatchIssue
 
class  A_Repeat
 
class  B_Repeat
 
class  C_Repeat
 
class  D_Repeat
 
class  A_Tpl
 
class  B_Tpl
 
class  C_Tpl
 
class  D_Tpl
 
class  PyA_Repeat
 
class  PyB_Repeat
 
class  PyC_Repeat
 
class  PyD_Repeat
 
class  PyA_Tpl< Base >
 
class  PyB_Tpl< Base >
 

Macros

#define A_METHODS
 
#define B_METHODS
 
#define C_METHODS
 
#define D_METHODS
 

Functions

void initialize_inherited_virtuals (py::module_ &m)
 
 TEST_SUBMODULE (virtual_functions, m)
 

Macro Definition Documentation

◆ A_METHODS

#define A_METHODS
Value:
public: \
virtual int unlucky_number() = 0; \
virtual std::string say_something(unsigned times) { \
std::string s = ""; \
for (unsigned i = 0; i < times; ++i) \
s += "hi"; \
return s; \
} \
std::string say_everything() { \
return say_something(1) + " " + std::to_string(unlucky_number()); \
}

Definition at line 342 of file test_virtual_functions.cpp.

◆ B_METHODS

#define B_METHODS
Value:
public: \
int unlucky_number() override { return 13; } \
std::string say_something(unsigned times) override { \
return "B says hi " + std::to_string(times) + " times"; \
} \
virtual double lucky_number() { return 7.0; }

Definition at line 360 of file test_virtual_functions.cpp.

◆ C_METHODS

#define C_METHODS
Value:
public: \
int unlucky_number() override { return 4444; } \
double lucky_number() override { return 888; }

Definition at line 370 of file test_virtual_functions.cpp.

◆ D_METHODS

#define D_METHODS

Definition at line 377 of file test_virtual_functions.cpp.

Function Documentation

◆ initialize_inherited_virtuals()

void initialize_inherited_virtuals ( py::module_ &  m)

Definition at line 462 of file test_virtual_functions.cpp.

◆ TEST_SUBMODULE()

TEST_SUBMODULE ( virtual_functions  ,
 
)

Definition at line 192 of file test_virtual_functions.cpp.

test_multiple_inheritance.i
i
Definition: test_multiple_inheritance.py:22