gcc fixes

master
Daniel Kolesa 2015-07-11 01:22:48 +01:00
parent 06a91b98f5
commit 28cbc8f4a9
6 changed files with 10 additions and 13 deletions

View File

@ -16,7 +16,7 @@ namespace octa {
template<typename T, Size N> template<typename T, Size N>
struct Array { struct Array {
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Value = T; using Value = T;
using Reference = T &; using Reference = T &;

View File

@ -51,7 +51,7 @@ namespace detail {
public: public:
using Key = K; using Key = K;
using Mapped = T; using Mapped = T;
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Hasher = H; using Hasher = H;
using KeyEqual = C; using KeyEqual = C;

View File

@ -483,7 +483,7 @@ private:
namespace detail { namespace detail {
template<typename T> struct BoxIf { template<typename T> struct BoxIf {
using Box = Box<T>; using BoxType = Box<T>;
}; };
template<typename T> struct BoxIf<T[]> { template<typename T> struct BoxIf<T[]> {
@ -496,7 +496,7 @@ namespace detail {
} }
template<typename T, typename ...A> template<typename T, typename ...A>
typename detail::BoxIf<T>::Box make_box(A &&...args) { typename detail::BoxIf<T>::BoxType make_box(A &&...args) {
return Box<T>(new T(forward<A>(args)...)); return Box<T>(new T(forward<A>(args)...));
} }
@ -529,7 +529,7 @@ template<> struct Allocator<const void> {
}; };
template<typename T> struct Allocator { template<typename T> struct Allocator {
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Value = T; using Value = T;
using Reference = T &; using Reference = T &;
@ -566,7 +566,7 @@ template<typename T> struct Allocator {
}; };
template<typename T> struct Allocator<const T> { template<typename T> struct Allocator<const T> {
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Value = const T; using Value = const T;
using Reference = const T &; using Reference = const T &;

View File

@ -40,7 +40,7 @@ namespace detail {
public: public:
using Key = T; using Key = T;
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Hasher = H; using Hasher = H;
using KeyEqual = C; using KeyEqual = C;

View File

@ -149,7 +149,7 @@ class StringBase {
} }
public: public:
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Value = T; using Value = T;
using Reference = T &; using Reference = T &;

View File

@ -18,14 +18,11 @@
namespace octa { namespace octa {
namespace detail {
} /* namespace detail */
template<typename T, typename A = Allocator<T>> template<typename T, typename A = Allocator<T>>
class Vector { class Vector {
using VecPair = detail::CompressedPair<AllocatorPointer<A>, A>; using VecPair = detail::CompressedPair<AllocatorPointer<A>, A>;
Size p_len, p_cap; octa::Size p_len, p_cap;
VecPair p_buf; VecPair p_buf;
void insert_base(Size idx, Size n) { void insert_base(Size idx, Size n) {
@ -77,7 +74,7 @@ class Vector {
} }
public: public:
using Size = Size; using Size = octa::Size;
using Difference = Ptrdiff; using Difference = Ptrdiff;
using Value = T; using Value = T;
using Reference = T &; using Reference = T &;