answer.hxx | answer.hxx | |||
---|---|---|---|---|
// file : cutl/meta/answer.hxx | // file : cutl/meta/answer.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_ANSWER_HXX | #ifndef CUTL_META_ANSWER_HXX | |||
#define CUTL_META_ANSWER_HXX | #define CUTL_META_ANSWER_HXX | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace meta | namespace meta | |||
{ | { | |||
struct yes | struct yes | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
any.hxx | any.hxx | |||
---|---|---|---|---|
// file : cutl/container/any.hxx | // file : cutl/container/any.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_CONTAINER_ANY_HXX | #ifndef CUTL_CONTAINER_ANY_HXX | |||
#define CUTL_CONTAINER_ANY_HXX | #define CUTL_CONTAINER_ANY_HXX | |||
#include <memory> // std::auto_ptr | #include <memory> // std::auto_ptr | |||
#include <typeinfo> // std::type_info | #include <typeinfo> // std::type_info | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
auto-remove.hxx | auto-remove.hxx | |||
---|---|---|---|---|
// file : cutl/fs/auto-remove.hxx | // file : cutl/fs/auto-remove.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_FS_AUTO_REMOVE_HXX | #ifndef CUTL_FS_AUTO_REMOVE_HXX | |||
#define CUTL_FS_AUTO_REMOVE_HXX | #define CUTL_FS_AUTO_REMOVE_HXX | |||
#include <vector> | #include <vector> | |||
#include <cutl/fs/path.hxx> | #include <cutl/fs/path.hxx> | |||
#include <cutl/fs/exception.hxx> | #include <cutl/fs/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
base.hxx | base.hxx | |||
---|---|---|---|---|
// file : cutl/shared-ptr/base.hxx | // file : cutl/shared-ptr/base.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_SHARED_PTR_BASE_HXX | #ifndef CUTL_SHARED_PTR_BASE_HXX | |||
#define CUTL_SHARED_PTR_BASE_HXX | #define CUTL_SHARED_PTR_BASE_HXX | |||
#include <new> | #include <new> | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
base.ixx | base.ixx | |||
---|---|---|---|---|
// file : cutl/shared-ptr/base.ixx | // file : cutl/shared-ptr/base.ixx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
// share | // share | |||
// | // | |||
inline share:: | inline share:: | |||
share (char id) | share (char id) | |||
: id_ (id) | : id_ (id) | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
base.txx | base.txx | |||
---|---|---|---|---|
// file : cutl/shared-ptr/base.txx | // file : cutl/shared-ptr/base.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#include <cutl/meta/answer.hxx> | #include <cutl/meta/answer.hxx> | |||
#include <cutl/meta/polymorphic-p.hxx> | #include <cutl/meta/polymorphic-p.hxx> | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace bits | namespace bits | |||
{ | { | |||
// Support for locating the counter in the memory block. | // Support for locating the counter in the memory block. | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
class-p.hxx | class-p.hxx | |||
---|---|---|---|---|
// file : cutl/meta/class-p.hxx | // file : cutl/meta/class-p.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_CLASS_HXX | #ifndef CUTL_META_CLASS_HXX | |||
#define CUTL_META_CLASS_HXX | #define CUTL_META_CLASS_HXX | |||
#include <cutl/meta/answer.hxx> | #include <cutl/meta/answer.hxx> | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace meta | namespace meta | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
code-stream.hxx | code-stream.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/code-stream.hxx | // file : cutl/compiler/code-stream.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_CODE_STREAM_HXX | #ifndef CUTL_COMPILER_CODE_STREAM_HXX | |||
#define CUTL_COMPILER_CODE_STREAM_HXX | #define CUTL_COMPILER_CODE_STREAM_HXX | |||
#include <memory> // std::auto_ptr | #include <memory> // std::auto_ptr | |||
#include <ostream> | #include <ostream> | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
code-stream.txx | code-stream.txx | |||
---|---|---|---|---|
// file : cutl/compiler/code-stream.txx | // file : cutl/compiler/code-stream.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
// code_stream | // code_stream | |||
// | // | |||
template <typename C> | template <typename C> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
config.hxx | config.hxx | |||
---|---|---|---|---|
// file : cutl/details/config.hxx | // file : cutl/details/config.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_DETAILS_CONFIG_HXX | #ifndef CUTL_DETAILS_CONFIG_HXX | |||
#define CUTL_DETAILS_CONFIG_HXX | #define CUTL_DETAILS_CONFIG_HXX | |||
#ifdef _MSC_VER | #ifdef _MSC_VER | |||
#else | #else | |||
# include <cutl/details/config.h> | # include <cutl/details/config.h> | |||
#endif | #endif | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
context.hxx | context.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/context.hxx | // file : cutl/compiler/context.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_CONTEXT_HXX | #ifndef CUTL_COMPILER_CONTEXT_HXX | |||
#define CUTL_COMPILER_CONTEXT_HXX | #define CUTL_COMPILER_CONTEXT_HXX | |||
#include <map> | #include <map> | |||
#include <string> | #include <string> | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
context.txx | context.txx | |||
---|---|---|---|---|
// file : cutl/compiler/context.txx | // file : cutl/compiler/context.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
template <typename X> | template <typename X> | |||
X& context:: | X& context:: | |||
get (std::string const& key) | get (std::string const& key) | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxx-indenter.hxx | cxx-indenter.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/cxx-indenter.hxx | // file : cutl/compiler/cxx-indenter.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_CXX_INDENTER_HXX | #ifndef CUTL_COMPILER_CXX_INDENTER_HXX | |||
#define CUTL_COMPILER_CXX_INDENTER_HXX | #define CUTL_COMPILER_CXX_INDENTER_HXX | |||
#include <set> | #include <set> | |||
#include <stack> | #include <stack> | |||
#include <deque> | #include <deque> | |||
#include <string> | #include <string> | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxx-indenter.ixx | cxx-indenter.ixx | |||
---|---|---|---|---|
// file : cutl/compiler/cxx-indenter.ixx | // file : cutl/compiler/cxx-indenter.ixx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
template <typename C> | template <typename C> | |||
inline typename cxx_indenter<C>::char_class_type cxx_indenter<C>:: | inline typename cxx_indenter<C>::char_class_type cxx_indenter<C>:: | |||
char_class (C c) | char_class (C c) | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
cxx-indenter.txx | cxx-indenter.txx | |||
---|---|---|---|---|
// file : cutl/compiler/cxx-indenter.txx | // file : cutl/compiler/cxx-indenter.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
template <typename C> | template <typename C> | |||
cxx_indenter<C>:: | cxx_indenter<C>:: | |||
cxx_indenter (code_stream<C>& out) | cxx_indenter (code_stream<C>& out) | |||
: out_ (out), | : out_ (out), | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
exception.hxx | exception.hxx | |||
---|---|---|---|---|
// file : cutl/exception.hxx | // file : cutl/exception.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_EXCEPTION_HXX | #ifndef CUTL_EXCEPTION_HXX | |||
#define CUTL_EXCEPTION_HXX | #define CUTL_EXCEPTION_HXX | |||
#include <exception> | #include <exception> | |||
#include <cutl/details/export.hxx> | #include <cutl/details/export.hxx> | |||
namespace cutl | namespace cutl | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
export.hxx | export.hxx | |||
---|---|---|---|---|
// file : cutl/details/export.hxx | // file : cutl/details/export.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_DETAILS_EXPORT_HXX | #ifndef CUTL_DETAILS_EXPORT_HXX | |||
#define CUTL_DETAILS_EXPORT_HXX | #define CUTL_DETAILS_EXPORT_HXX | |||
#include <cutl/details/config.hxx> | #include <cutl/details/config.hxx> | |||
#ifdef LIBCUTL_STATIC_LIB | #ifdef LIBCUTL_STATIC_LIB | |||
# define LIBCUTL_EXPORT | # define LIBCUTL_EXPORT | |||
#else | #else | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
graph.hxx | graph.hxx | |||
---|---|---|---|---|
// file : cutl/container/graph.hxx | // file : cutl/container/graph.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_CONTAINER_GRAPH_HXX | #ifndef CUTL_CONTAINER_GRAPH_HXX | |||
#define CUTL_CONTAINER_GRAPH_HXX | #define CUTL_CONTAINER_GRAPH_HXX | |||
#include <map> | #include <map> | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
#include <cutl/shared-ptr.hxx> | #include <cutl/shared-ptr.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
graph.txx | graph.txx | |||
---|---|---|---|---|
// file : cutl/container/graph.txx | // file : cutl/container/graph.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace container | namespace container | |||
{ | { | |||
// Nodes. | // Nodes. | |||
// | // | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
path.hxx | path.hxx | |||
---|---|---|---|---|
// file : cutl/fs/path.hxx | // file : cutl/fs/path.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_FS_PATH_HXX | #ifndef CUTL_FS_PATH_HXX | |||
#define CUTL_FS_PATH_HXX | #define CUTL_FS_PATH_HXX | |||
#include <string> | #include <string> | |||
#include <iosfwd> | #include <iosfwd> | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
skipping to change at line 32 | skipping to change at line 32 | |||
template <typename C> | template <typename C> | |||
struct path_traits | struct path_traits | |||
{ | { | |||
typedef std::basic_string<C> string_type; | typedef std::basic_string<C> string_type; | |||
typedef typename string_type::size_type size_type; | typedef typename string_type::size_type size_type; | |||
// Canonical directory and path seperators. | // Canonical directory and path seperators. | |||
// | // | |||
#ifdef _WIN32 | #ifdef _WIN32 | |||
static char const directory_separator = '\\'; | static C const directory_separator = '\\'; | |||
static char const path_separator = ';'; | static C const path_separator = ';'; | |||
#else | #else | |||
static char const directory_separator = '/'; | static C const directory_separator = '/'; | |||
static char const path_separator = ':'; | static C const path_separator = ':'; | |||
#endif | #endif | |||
// Directory separator tests. On some platforms there | // Directory separator tests. On some platforms there | |||
// could be multiple seperators. For example, on Windows | // could be multiple seperators. For example, on Windows | |||
// we check for both '/' and '\'. | // we check for both '/' and '\'. | |||
// | // | |||
static bool | static bool | |||
is_separator (C c) | is_separator (C c) | |||
{ | { | |||
#ifdef _WIN32 | #ifdef _WIN32 | |||
return c == '\\' || c == '/'; | return c == '\\' || c == '/'; | |||
#else | #else | |||
return c == '/'; | return c == '/'; | |||
#endif | #endif | |||
} | } | |||
static size_type | static size_type | |||
find_separator (string_type const& s) | find_separator (string_type const& s, size_type pos = 0) | |||
{ | { | |||
for (size_type i (0), n (s.size ()); i < n; ++i) | for (size_type n (s.size ()); pos < n; ++pos) | |||
{ | { | |||
if (is_separator (s[i])) | if (is_separator (s[pos])) | |||
return i; | return pos; | |||
} | } | |||
return string_type::npos; | return string_type::npos; | |||
} | } | |||
static size_type | static size_type | |||
rfind_separator (string_type const& s) | rfind_separator (string_type const& s, size_type pos = string_type::n pos) | |||
{ | { | |||
for (size_type i (s.size ()) ; i > 0; --i) | if (pos == string_type::npos) | |||
pos = s.size (); | ||||
else | ||||
pos++; | ||||
for (; pos > 0; --pos) | ||||
{ | { | |||
if (is_separator (s[i - 1])) | if (is_separator (s[pos - 1])) | |||
return i - 1; | return pos - 1; | |||
} | } | |||
return string_type::npos; | return string_type::npos; | |||
} | } | |||
}; | }; | |||
template <typename C> | template <typename C> | |||
class invalid_basic_path; | class invalid_basic_path; | |||
typedef basic_path<char> path; | typedef basic_path<char> path; | |||
skipping to change at line 152 | skipping to change at line 157 | |||
init (); | init (); | |||
} | } | |||
explicit | explicit | |||
basic_path (string_type const& s) | basic_path (string_type const& s) | |||
: path_ (s) | : path_ (s) | |||
{ | { | |||
init (); | init (); | |||
} | } | |||
void | ||||
swap (basic_path& p) | ||||
{ | ||||
path_.swap (p.path_); | ||||
} | ||||
static basic_path | ||||
current (); | ||||
static void | ||||
current (basic_path const&); | ||||
public: | ||||
bool | ||||
empty () const | ||||
{ | ||||
return path_.empty (); | ||||
} | ||||
bool | ||||
absolute () const; | ||||
bool | ||||
relative () const | ||||
{ | ||||
return !absolute (); | ||||
} | ||||
bool | ||||
root () const; | ||||
public: | public: | |||
// Return the path without the directory part. | // Return the path without the directory part. | |||
// | // | |||
basic_path | basic_path | |||
leaf () const; | leaf () const; | |||
// Return the directory part of the path or empty path if | // Return the directory part of the path or empty path if | |||
// there is no directory. | // there is no directory. | |||
// | // | |||
basic_path | basic_path | |||
directory () const; | directory () const; | |||
// Return the path without the extension, if any. | // Return the path without the extension, if any. | |||
// | // | |||
basic_path | basic_path | |||
base () const; | base () const; | |||
public: | public: | |||
// Normalize the path. This includes collapsing the '.' and '..' | ||||
// directories if possible, collapsing multiple directory | ||||
// separators, converting all directory separators to the | ||||
// canonical form, and making the path lower-case if the | ||||
// filesystem is not case-sensitive (e.g., Windows). Returns | ||||
// *this. | ||||
// | ||||
basic_path& | ||||
normalize (); | ||||
// Make the path absolute using the current directory unless | ||||
// it is already absolute. | ||||
// | ||||
basic_path& | ||||
complete (); | ||||
public: | ||||
basic_path | basic_path | |||
operator/ (basic_path const& x) | operator/ (basic_path const& x) const | |||
{ | { | |||
basic_path r (*this); | basic_path r (*this); | |||
r /= x; | r /= x; | |||
return r; | return r; | |||
} | } | |||
basic_path& | basic_path& | |||
operator/= (basic_path const&); | operator/= (basic_path const&); | |||
basic_path | basic_path | |||
operator+ (string_type const& s) | operator+ (string_type const& s) const | |||
{ | { | |||
return basic_path (path_ + s); | return basic_path (path_ + s); | |||
} | } | |||
basic_path& | basic_path& | |||
operator+= (string_type const& s) | operator+= (string_type const& s) | |||
{ | { | |||
path_ += s; | path_ += s; | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 206 | skipping to change at line 259 | |||
{ | { | |||
return path_ == x.path_; | return path_ == x.path_; | |||
} | } | |||
bool | bool | |||
operator!= (basic_path const& x) const | operator!= (basic_path const& x) const | |||
{ | { | |||
return !(*this == x); | return !(*this == x); | |||
} | } | |||
public: | ||||
bool | bool | |||
empty () const | operator< (basic_path const& x) const | |||
{ | { | |||
return path_.empty (); | return path_ < x.path_; | |||
} | } | |||
public: | ||||
string_type | string_type | |||
string () const | string () const | |||
{ | { | |||
return path_; | return path_; | |||
} | } | |||
private: | private: | |||
void | void | |||
init (); | init (); | |||
bool | #ifdef _WIN32 | |||
root () const | static C | |||
{ | tolower (C); | |||
return path_.size () == 1 && traits::is_separator (path_[0]); | #endif | |||
} | ||||
private: | private: | |||
string_type path_; | string_type path_; | |||
}; | }; | |||
template <typename C> | template <typename C> | |||
inline std::basic_ostream<C>& | inline std::basic_ostream<C>& | |||
operator<< (std::basic_ostream<C>& os, basic_path<C> const& p) | operator<< (std::basic_ostream<C>& os, basic_path<C> const& p) | |||
{ | { | |||
return os << p.string (); | return os << p.string (); | |||
} | } | |||
} | } | |||
} | } | |||
#include <cutl/fs/path.ixx> | ||||
#include <cutl/fs/path.txx> | #include <cutl/fs/path.txx> | |||
#endif // CUTL_FS_PATH_HXX | #endif // CUTL_FS_PATH_HXX | |||
End of changes. 19 change blocks. | ||||
23 lines changed or deleted | 76 lines changed or added | |||
path.txx | path.txx | |||
---|---|---|---|---|
// file : cutl/fs/path.txx | // file : cutl/fs/path.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#include <vector> | ||||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace fs | namespace fs | |||
{ | { | |||
template <typename C> | template <typename C> | |||
basic_path<C> basic_path<C>:: | basic_path<C> basic_path<C>:: | |||
leaf () const | leaf () const | |||
{ | { | |||
size_type p (traits::rfind_separator (path_)); | size_type p (traits::rfind_separator (path_)); | |||
skipping to change at line 70 | skipping to change at line 72 | |||
return basic_path (path_.c_str (), i - 1); | return basic_path (path_.c_str (), i - 1); | |||
} | } | |||
else | else | |||
return *this; | return *this; | |||
} | } | |||
template <typename C> | template <typename C> | |||
basic_path<C>& basic_path<C>:: | basic_path<C>& basic_path<C>:: | |||
operator/= (basic_path<C> const& r) | operator/= (basic_path<C> const& r) | |||
{ | { | |||
if (r.root ()) | if (r.absolute ()) | |||
throw invalid_basic_path<C> (r.path_); | throw invalid_basic_path<C> (r.path_); | |||
if (path_.empty () || r.path_.empty ()) | if (path_.empty () || r.path_.empty ()) | |||
{ | { | |||
path_ += r.path_; | path_ += r.path_; | |||
return *this; | return *this; | |||
} | } | |||
if (!root ()) | if (!traits::is_separator (path_[path_.size () - 1])) | |||
path_ += traits::directory_separator; | path_ += traits::directory_separator; | |||
path_ += r.path_; | path_ += r.path_; | |||
return *this; | return *this; | |||
} | } | |||
template <typename C> | template <typename C> | |||
basic_path<C>& basic_path<C>:: | ||||
normalize () | ||||
{ | ||||
if (empty ()) | ||||
return *this; | ||||
bool abs (absolute ()); | ||||
typedef std::vector<string_type> paths; | ||||
paths ps; | ||||
for (size_type b (0), e (traits::find_separator (path_)), | ||||
n (path_.size ());; | ||||
e = traits::find_separator (path_, b)) | ||||
{ | ||||
string_type s (path_, b, e == string_type::npos ? e : e - b); | ||||
ps.push_back (s); | ||||
if (e == string_type::npos) | ||||
break; | ||||
++e; | ||||
while (e < n && traits::is_separator (path_[e])) | ||||
++e; | ||||
if (e == n) | ||||
break; | ||||
b = e; | ||||
} | ||||
// First collapse '.' and '..'. | ||||
// | ||||
paths r; | ||||
for (typename paths::const_iterator i (ps.begin ()), e (ps.end ()); | ||||
i != e; ++i) | ||||
{ | ||||
string_type const& s (*i); | ||||
size_type n (s.size ()); | ||||
if (n == 1 && s[0] == '.') | ||||
continue; | ||||
if (n == 2 && s[0] == '.' && s[1] == '.') | ||||
{ | ||||
// Pop the last directory from r unless it is '..'. | ||||
// | ||||
if (!r.empty ()) | ||||
{ | ||||
string_type const& s1 (r.back ()); | ||||
if (!(s1.size () == 2 && s1[0] == '.' && s1[1] == '.')) | ||||
{ | ||||
// Cannot go past the root directory. | ||||
// | ||||
if (abs && r.size () == 1) | ||||
throw invalid_basic_path<C> (path_); | ||||
r.pop_back (); | ||||
continue; | ||||
} | ||||
} | ||||
} | ||||
r.push_back (s); | ||||
} | ||||
// Reassemble the path. | ||||
// | ||||
string_type p; | ||||
for (typename paths::const_iterator i (r.begin ()), e (r.end ()); | ||||
i != e;) | ||||
{ | ||||
#ifdef _WIN32 | ||||
for (size_type j (0), n (i->size ()); j < n; ++j) | ||||
p += tolower ((*i)[j]); | ||||
#else | ||||
p += *i; | ||||
#endif | ||||
++i; | ||||
if (i != e) | ||||
p += traits::directory_separator; | ||||
} | ||||
if (p.empty () && !r.empty ()) | ||||
p += traits::directory_separator; // Root directory. | ||||
path_.swap (p); | ||||
return *this; | ||||
} | ||||
template <typename C> | ||||
void basic_path<C>:: | void basic_path<C>:: | |||
init () | init () | |||
{ | { | |||
// Strip trailing slashes except for the case where the single | // Strip trailing slashes except for the case where the single | |||
// slash represents the root directory. | // slash represents the root directory. | |||
// | // | |||
size_type n (path_.size ()); | size_type n (path_.size ()); | |||
for (; n > 1 && traits::is_separator (path_[n - 1]); --n) ; | for (; n > 1 && traits::is_separator (path_[n - 1]); --n) ; | |||
path_.resize (n); | path_.resize (n); | |||
} | } | |||
End of changes. 5 change blocks. | ||||
3 lines changed or deleted | 101 lines changed or added | |||
pointer-iterator.hxx | pointer-iterator.hxx | |||
---|---|---|---|---|
// file : cutl/container/pointer-iterator.hxx | // file : cutl/container/pointer-iterator.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_CONTAINER_POINTER_ITERATOR_HXX | #ifndef CUTL_CONTAINER_POINTER_ITERATOR_HXX | |||
#define CUTL_CONTAINER_POINTER_ITERATOR_HXX | #define CUTL_CONTAINER_POINTER_ITERATOR_HXX | |||
#include <iterator> // std::iterator_traits | #include <iterator> // std::iterator_traits | |||
#include <cutl/meta/remove-p.hxx> | #include <cutl/meta/remove-p.hxx> | |||
namespace cutl | namespace cutl | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
polymorphic-p.hxx | polymorphic-p.hxx | |||
---|---|---|---|---|
// file : cutl/meta/polymorphic-p.hxx | // file : cutl/meta/polymorphic-p.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_POLYMORPHIC_HXX | #ifndef CUTL_META_POLYMORPHIC_HXX | |||
#define CUTL_META_POLYMORPHIC_HXX | #define CUTL_META_POLYMORPHIC_HXX | |||
#include <cutl/meta/class-p.hxx> | #include <cutl/meta/class-p.hxx> | |||
#include <cutl/meta/remove-cv.hxx> | #include <cutl/meta/remove-cv.hxx> | |||
namespace cutl | namespace cutl | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
remove-c.hxx | remove-c.hxx | |||
---|---|---|---|---|
// file : cutl/meta/remove-c.hxx | // file : cutl/meta/remove-c.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_REMOVE_C_HXX | #ifndef CUTL_META_REMOVE_C_HXX | |||
#define CUTL_META_REMOVE_C_HXX | #define CUTL_META_REMOVE_C_HXX | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace meta | namespace meta | |||
{ | { | |||
template <typename X> | template <typename X> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
remove-cv.hxx | remove-cv.hxx | |||
---|---|---|---|---|
// file : cutl/meta/remove-cv.hxx | // file : cutl/meta/remove-cv.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_REMOVE_CV_HXX | #ifndef CUTL_META_REMOVE_CV_HXX | |||
#define CUTL_META_REMOVE_CV_HXX | #define CUTL_META_REMOVE_CV_HXX | |||
#include <cutl/meta/remove-c.hxx> | #include <cutl/meta/remove-c.hxx> | |||
#include <cutl/meta/remove-v.hxx> | #include <cutl/meta/remove-v.hxx> | |||
namespace cutl | namespace cutl | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
remove-p.hxx | remove-p.hxx | |||
---|---|---|---|---|
// file : cutl/meta/remove-p.hxx | // file : cutl/meta/remove-p.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_REMOVE_P_HXX | #ifndef CUTL_META_REMOVE_P_HXX | |||
#define CUTL_META_REMOVE_P_HXX | #define CUTL_META_REMOVE_P_HXX | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace meta | namespace meta | |||
{ | { | |||
template <typename X> | template <typename X> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
remove-v.hxx | remove-v.hxx | |||
---|---|---|---|---|
// file : cutl/meta/remove-v.hxx | // file : cutl/meta/remove-v.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_META_REMOVE_V_HXX | #ifndef CUTL_META_REMOVE_V_HXX | |||
#define CUTL_META_REMOVE_V_HXX | #define CUTL_META_REMOVE_V_HXX | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace meta | namespace meta | |||
{ | { | |||
template <typename X> | template <typename X> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
shared-ptr.hxx | shared-ptr.hxx | |||
---|---|---|---|---|
// file : cutl/shared-ptr.hxx | // file : cutl/shared-ptr.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_SHARED_PTR_HXX | #ifndef CUTL_SHARED_PTR_HXX | |||
#define CUTL_SHARED_PTR_HXX | #define CUTL_SHARED_PTR_HXX | |||
#include <cutl/shared-ptr/base.hxx> | #include <cutl/shared-ptr/base.hxx> | |||
namespace cutl | namespace cutl | |||
{ | { | |||
template <typename X> | template <typename X> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
sloc-counter.hxx | sloc-counter.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/sloc-counter.hxx | // file : cutl/compiler/sloc-counter.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_SLOC_COUNTER_HXX | #ifndef CUTL_COMPILER_SLOC_COUNTER_HXX | |||
#define CUTL_COMPILER_SLOC_COUNTER_HXX | #define CUTL_COMPILER_SLOC_COUNTER_HXX | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
#include <cutl/compiler/code-stream.hxx> | #include <cutl/compiler/code-stream.hxx> | |||
namespace cutl | namespace cutl | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
sloc-counter.txx | sloc-counter.txx | |||
---|---|---|---|---|
// file : cutl/compiler/sloc-counter.txx | // file : cutl/compiler/sloc-counter.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#include <cctype> // std::isspace | #include <cctype> // std::isspace | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
template <typename C> | template <typename C> | |||
sloc_counter<C>:: | sloc_counter<C>:: | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
static-ptr.hxx | static-ptr.hxx | |||
---|---|---|---|---|
// file : cutl/static-ptr.hxx | // file : cutl/static-ptr.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_STATIC_PTR_HXX | #ifndef CUTL_STATIC_PTR_HXX | |||
#define CUTL_STATIC_PTR_HXX | #define CUTL_STATIC_PTR_HXX | |||
#include <cstddef> // std::size_t | #include <cstddef> // std::size_t | |||
namespace cutl | namespace cutl | |||
{ | { | |||
// This class template implements Jerry Schwarz's static | // This class template implements Jerry Schwarz's static | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
traversal.hxx | traversal.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/traversal.hxx | // file : cutl/compiler/traversal.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_TRAVERSAL_HXX | #ifndef CUTL_COMPILER_TRAVERSAL_HXX | |||
#define CUTL_COMPILER_TRAVERSAL_HXX | #define CUTL_COMPILER_TRAVERSAL_HXX | |||
#include <map> | #include <map> | |||
#include <set> | #include <set> | |||
#include <vector> | #include <vector> | |||
#include <cutl/compiler/type-info.hxx> | #include <cutl/compiler/type-info.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
traversal.txx | traversal.txx | |||
---|---|---|---|---|
// file : cutl/compiler/traversal.txx | // file : cutl/compiler/traversal.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
// traverser | // traverser | |||
// | // | |||
template<typename B> | template<typename B> | |||
traverser<B>:: | traverser<B>:: | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
type-id.hxx | type-id.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/type-id.hxx | // file : cutl/compiler/type-id.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_TYPE_ID_HXX | #ifndef CUTL_COMPILER_TYPE_ID_HXX | |||
#define CUTL_COMPILER_TYPE_ID_HXX | #define CUTL_COMPILER_TYPE_ID_HXX | |||
#include <typeinfo> // std::type_info | #include <typeinfo> // std::type_info | |||
#include <cutl/details/export.hxx> | #include <cutl/details/export.hxx> | |||
namespace cutl | namespace cutl | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
type-id.ixx | type-id.ixx | |||
---|---|---|---|---|
// file : cutl/compiler/type-id.ixx | // file : cutl/compiler/type-id.ixx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
inline | inline | |||
type_id:: | type_id:: | |||
type_id (std::type_info const& ti) | type_id (std::type_info const& ti) | |||
: ti_ (&ti) | : ti_ (&ti) | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
type-id.txx | type-id.txx | |||
---|---|---|---|---|
// file : cutl/compiler/type-id.txx | // file : cutl/compiler/type-id.txx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
template <typename X> | template <typename X> | |||
inline | inline | |||
type_id:: | type_id:: | |||
type_id (X const volatile& x) | type_id (X const volatile& x) | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
type-info.hxx | type-info.hxx | |||
---|---|---|---|---|
// file : cutl/compiler/type-info.hxx | // file : cutl/compiler/type-info.hxx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
#ifndef CUTL_COMPILER_TYPE_INFO_HXX | #ifndef CUTL_COMPILER_TYPE_INFO_HXX | |||
#define CUTL_COMPILER_TYPE_INFO_HXX | #define CUTL_COMPILER_TYPE_INFO_HXX | |||
#include <map> | #include <map> | |||
#include <vector> | #include <vector> | |||
#include <typeinfo> // std::type_info | #include <typeinfo> // std::type_info | |||
#include <cutl/exception.hxx> | #include <cutl/exception.hxx> | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
type-info.ixx | type-info.ixx | |||
---|---|---|---|---|
// file : cutl/compiler/type-info.ixx | // file : cutl/compiler/type-info.ixx | |||
// author : Boris Kolpackov <boris@codesynthesis.com> | // author : Boris Kolpackov <boris@codesynthesis.com> | |||
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC | // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC | |||
// license : MIT; see accompanying LICENSE file | // license : MIT; see accompanying LICENSE file | |||
namespace cutl | namespace cutl | |||
{ | { | |||
namespace compiler | namespace compiler | |||
{ | { | |||
// base_info | // base_info | |||
// | // | |||
inline | inline | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||