base.hxx | base.hxx | |||
---|---|---|---|---|
skipping to change at line 15 | skipping to change at line 15 | |||
#ifndef ODB_DETAILS_SHARED_PTR_BASE_HXX | #ifndef ODB_DETAILS_SHARED_PTR_BASE_HXX | |||
#define ODB_DETAILS_SHARED_PTR_BASE_HXX | #define ODB_DETAILS_SHARED_PTR_BASE_HXX | |||
#include <odb/pre.hxx> | #include <odb/pre.hxx> | |||
#include <new> | #include <new> | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
#include <odb/exception.hxx> | #include <odb/exception.hxx> | |||
#include <odb/details/export.hxx> | #include <odb/details/export.hxx> | |||
#include <odb/details/shared-ptr/counter-type.hxx> | ||||
namespace odb | namespace odb | |||
{ | { | |||
namespace details | namespace details | |||
{ | { | |||
struct LIBODB_EXPORT share | struct LIBODB_EXPORT share | |||
{ | { | |||
explicit | explicit | |||
share (char id); | share (char id); | |||
skipping to change at line 55 | skipping to change at line 55 | |||
namespace odb | namespace odb | |||
{ | { | |||
namespace details | namespace details | |||
{ | { | |||
struct LIBODB_EXPORT not_shared: exception | struct LIBODB_EXPORT not_shared: exception | |||
{ | { | |||
virtual const char* | virtual const char* | |||
what () const throw (); | what () const throw (); | |||
}; | }; | |||
struct LIBODB_EXPORT shared_base | class LIBODB_EXPORT shared_base | |||
{ | { | |||
public: | ||||
shared_base (); | shared_base (); | |||
shared_base (const shared_base&); | shared_base (const shared_base&); | |||
shared_base& | shared_base& | |||
operator= (const shared_base&); | operator= (const shared_base&); | |||
void | void | |||
_inc_ref (); | _inc_ref (); | |||
bool | bool | |||
_dec_ref (); | _dec_ref (); | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 3 lines changed or added | |||
base.txx | base.txx | |||
---|---|---|---|---|
skipping to change at line 71 | skipping to change at line 71 | |||
meta::no test (...); | meta::no test (...); | |||
meta::yes test (shared_base*); | meta::yes test (shared_base*); | |||
template <typename X, | template <typename X, | |||
std::size_t A = sizeof (bits::test (reinterpret_cast<X*> (0 )))> | std::size_t A = sizeof (bits::test (reinterpret_cast<X*> (0 )))> | |||
struct counter_type; | struct counter_type; | |||
template <typename X> | template <typename X> | |||
struct counter_type<X, sizeof (meta::no)> | struct counter_type<X, sizeof (meta::no)> | |||
{ | { | |||
typedef X r; | typedef typename details::counter_type<X>::counter r; | |||
}; | }; | |||
template <typename X> | template <typename X> | |||
struct counter_type<X, sizeof (meta::yes)> | struct counter_type<X, sizeof (meta::yes)> | |||
{ | { | |||
typedef shared_base r; | typedef shared_base r; | |||
}; | }; | |||
template <typename X, typename Y> | template <typename X, typename Y> | |||
struct counter_ops; | struct counter_ops; | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
forward.hxx | forward.hxx | |||
---|---|---|---|---|
// file : odb/forward.hxx | // file : odb/forward.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : GNU GPL v2; see accompanying LICENSE file | // license : GNU GPL v2; see accompanying LICENSE file | |||
#ifndef ODB_FORWARD_HXX | #ifndef ODB_FORWARD_HXX | |||
#define ODB_FORWARD_HXX | #define ODB_FORWARD_HXX | |||
#include <odb/pre.hxx> | #include <odb/pre.hxx> | |||
#include <odb/details/shared-ptr-fwd.hxx> | ||||
namespace odb | namespace odb | |||
{ | { | |||
class database; | class database; | |||
class transaction; | class transaction; | |||
class session; | class session; | |||
template <typename T> | ||||
class result; | ||||
namespace core | namespace core | |||
{ | { | |||
using odb::database; | using odb::database; | |||
using odb::transaction; | using odb::transaction; | |||
using odb::session; | using odb::session; | |||
using odb::result; | ||||
} | } | |||
// Implementation details. | // Implementation details. | |||
// | // | |||
class access | class access | |||
{ | { | |||
public: | public: | |||
template <typename T> | template <typename T> | |||
class object_traits; | class object_traits; | |||
skipping to change at line 48 | skipping to change at line 54 | |||
template <typename T> | template <typename T> | |||
class composite_value_traits; | class composite_value_traits; | |||
template <typename C> | template <typename C> | |||
class container_traits; | class container_traits; | |||
}; | }; | |||
template <typename T> | template <typename T> | |||
struct object_traits; | struct object_traits; | |||
namespace details | ||||
{ | ||||
template <typename X> | ||||
class shared_ptr; | ||||
} | ||||
} | } | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_FORWARD_HXX | #endif // ODB_FORWARD_HXX | |||
End of changes. 4 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
shared-ptr.hxx | shared-ptr.hxx | |||
---|---|---|---|---|
// file : odb/details/shared-ptr.hxx | // file : odb/details/shared-ptr.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : GNU GPL v2; see accompanying LICENSE file | // license : GNU GPL v2; see accompanying LICENSE file | |||
#ifndef ODB_DETAILS_SHARED_PTR_HXX | #ifndef ODB_DETAILS_SHARED_PTR_HXX | |||
#define ODB_DETAILS_SHARED_PTR_HXX | #define ODB_DETAILS_SHARED_PTR_HXX | |||
#include <odb/pre.hxx> | #include <odb/pre.hxx> | |||
#include <odb/details/shared-ptr-fwd.hxx> | ||||
#include <odb/details/shared-ptr/base.hxx> | #include <odb/details/shared-ptr/base.hxx> | |||
namespace odb | namespace odb | |||
{ | { | |||
namespace details | namespace details | |||
{ | { | |||
template <typename X> | template <typename X> | |||
class shared_ptr: bits::counter_ops<typename bits::counter_type<X>::r, X> | class shared_ptr: bits::counter_ops<typename bits::counter_type<X>::r, X> | |||
{ | { | |||
typedef bits::counter_ops<typename bits::counter_type<X>::r, X> base; | typedef bits::counter_ops<typename bits::counter_type<X>::r, X> base; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
version.hxx | version.hxx | |||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
// Version AABBCCDD | // Version AABBCCDD | |||
// 2.0.0 02000000 | // 2.0.0 02000000 | |||
// 2.1.0 02010000 | // 2.1.0 02010000 | |||
// 2.1.1 02010100 | // 2.1.1 02010100 | |||
// 2.2.0.a1 02019901 | // 2.2.0.a1 02019901 | |||
// 3.0.0.b2 02999952 | // 3.0.0.b2 02999952 | |||
// | // | |||
// ODB interface version: minor, major, and alpha/beta versions. | // ODB interface version: minor, major, and alpha/beta versions. | |||
// | // | |||
#define ODB_VERSION 10200 | #define ODB_VERSION 10300 | |||
#define ODB_VERSION_STR "1.2" | #define ODB_VERSION_STR "1.3" | |||
// libodb version: interface version plus the bugfix version. | // libodb version: interface version plus the bugfix version. | |||
// | // | |||
#define LIBODB_VERSION 1020000 | #define LIBODB_VERSION 1030000 | |||
#define LIBODB_VERSION_STR "1.2.0" | #define LIBODB_VERSION_STR "1.3.0" | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_VERSION_HXX | #endif // ODB_VERSION_HXX | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||