mirror of
https://github.com/boostorg/python.git
synced 2026-01-20 04:42:28 +00:00
58 lines
760 B
C++
58 lines
760 B
C++
/* Copyright Bruno da Silva de Oliveira 2003. Use, modification and
|
|
distribution is subject to 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)
|
|
*/
|
|
#ifndef OPAQUE_H
|
|
#define OPAQUE_H
|
|
|
|
#include <iostream>
|
|
|
|
namespace opaque {
|
|
|
|
|
|
struct C {
|
|
C(int v): value(v) {}
|
|
int value;
|
|
};
|
|
|
|
|
|
inline C* new_C()
|
|
{
|
|
return new C(10);
|
|
}
|
|
|
|
inline C* new_C_zero()
|
|
{
|
|
return new C(0);
|
|
}
|
|
|
|
inline int get(C* c)
|
|
{
|
|
return c->value;
|
|
}
|
|
|
|
struct D {
|
|
D(double v): value(v) {}
|
|
double value;
|
|
};
|
|
|
|
struct A
|
|
{
|
|
D* new_handle()
|
|
{
|
|
return new D(3.0);
|
|
}
|
|
|
|
double get(D* d)
|
|
{
|
|
return d->value;
|
|
}
|
|
|
|
int f(int x=0) { return x; }
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|