From dce5d0658e67ced4d5fa64f98f598b86917927a7 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 18 Aug 2010 18:26:33 +0200 Subject: Move buffer to the details namespace --- odb/buffer.cxx | 34 ----------------------------- odb/buffer.hxx | 56 ----------------------------------------------- odb/details/buffer.cxx | 37 +++++++++++++++++++++++++++++++ odb/details/buffer.hxx | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ odb/makefile | 3 ++- odb/traits.hxx | 1 - 6 files changed, 98 insertions(+), 92 deletions(-) delete mode 100644 odb/buffer.cxx delete mode 100644 odb/buffer.hxx create mode 100644 odb/details/buffer.cxx create mode 100644 odb/details/buffer.hxx (limited to 'odb') diff --git a/odb/buffer.cxx b/odb/buffer.cxx deleted file mode 100644 index f920258..0000000 --- a/odb/buffer.cxx +++ /dev/null @@ -1,34 +0,0 @@ -// file : odb/buffer.cxx -// author : Boris Kolpackov -// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC -// license : GNU GPL v2; see accompanying LICENSE file - -#include // std::memcpy - -#include - -using namespace std; - -namespace odb -{ - void buffer:: - capacity (size_t c, size_t data_size) - { - if (c > capacity_) - { - size_t n (capacity_ * 2 > c ? capacity_ * 2 : c); - char* d (static_cast (operator new (n))); - - if (data_ != 0) - { - if (data_size != 0) - memcpy (d, data_, data_size); - - operator delete (data_); - } - - data_ = d; - capacity_ = n; - } - } -} diff --git a/odb/buffer.hxx b/odb/buffer.hxx deleted file mode 100644 index 4f4ce0b..0000000 --- a/odb/buffer.hxx +++ /dev/null @@ -1,56 +0,0 @@ -// file : odb/buffer.hxx -// author : Boris Kolpackov -// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC -// license : GNU GPL v2; see accompanying LICENSE file - -#ifndef ODB_BUFFER_HXX -#define ODB_BUFFER_HXX - -#include -#include // std::size_t - -namespace odb -{ - class buffer - { - public: - ~buffer () - { - if (data_) - operator delete (data_); - } - - buffer () - : capacity_ (512) - { - data_ = static_cast (operator new (capacity_)); - } - - char* - data () - { - return data_; - } - - const char* - data () const - { - return data_; - } - - std::size_t - capacity () const - { - return capacity_; - } - - void - capacity (std::size_t, std::size_t data_size = 0); - - private: - char* data_; - std::size_t capacity_; - }; -} - -#endif // ODB_BUFFER_HXX diff --git a/odb/details/buffer.cxx b/odb/details/buffer.cxx new file mode 100644 index 0000000..0d02460 --- /dev/null +++ b/odb/details/buffer.cxx @@ -0,0 +1,37 @@ +// file : odb/details/buffer.cxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#include // std::memcpy + +#include + +using namespace std; + +namespace odb +{ + namespace details + { + void buffer:: + capacity (size_t c, size_t data_size) + { + if (c > capacity_) + { + size_t n (capacity_ * 2 > c ? capacity_ * 2 : c); + char* d (static_cast (operator new (n))); + + if (data_ != 0) + { + if (data_size != 0) + memcpy (d, data_, data_size); + + operator delete (data_); + } + + data_ = d; + capacity_ = n; + } + } + } +} diff --git a/odb/details/buffer.hxx b/odb/details/buffer.hxx new file mode 100644 index 0000000..4393114 --- /dev/null +++ b/odb/details/buffer.hxx @@ -0,0 +1,59 @@ +// file : odb/details/buffer.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_BUFFER_DETAILS_HXX +#define ODB_BUFFER_DETAILS_HXX + +#include +#include // std::size_t + +namespace odb +{ + namespace details + { + class buffer + { + public: + ~buffer () + { + if (data_) + operator delete (data_); + } + + buffer () + : capacity_ (512) + { + data_ = static_cast (operator new (capacity_)); + } + + char* + data () + { + return data_; + } + + const char* + data () const + { + return data_; + } + + std::size_t + capacity () const + { + return capacity_; + } + + void + capacity (std::size_t, std::size_t data_size = 0); + + private: + char* data_; + std::size_t capacity_; + }; + } +} + +#endif // ODB_BUFFER_DETAILS_HXX diff --git a/odb/makefile b/odb/makefile index 047ff1c..2038b01 100644 --- a/odb/makefile +++ b/odb/makefile @@ -7,12 +7,13 @@ include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make cxx_tun := \ shared-ptr/base.cxx \ -buffer.cxx \ exception.cxx \ exceptions.cxx \ database.cxx \ transaction.cxx +cxx_tun += details/buffer.cxx + # POSIX-based implementation details. # cxx_tun += details/posix/exceptions.cxx details/posix/thread.cxx diff --git a/odb/traits.hxx b/odb/traits.hxx index e5c9eed..d393b3d 100644 --- a/odb/traits.hxx +++ b/odb/traits.hxx @@ -7,7 +7,6 @@ #define ODB_TRAITS_HXX #include -#include #include #include -- cgit v1.1