diff options
| author | ljfa-ag <ljfa-ag@web.de> | 2015-07-28 20:11:55 +0200 |
|---|---|---|
| committer | ljfa-ag <ljfa-ag@web.de> | 2015-07-28 20:27:03 +0200 |
| commit | 8d506948615de1de5d8a1510a1d1b82de3738cfa (patch) | |
| tree | 57d303d4d31a094cb69edda6b5c0eb7e32a95439 /src | |
| parent | 9d4d2455a4a562f0883c73ec8e87c469d38069e5 (diff) | |
| download | Project-Tick-8d506948615de1de5d8a1510a1d1b82de3738cfa.tar.gz Project-Tick-8d506948615de1de5d8a1510a1d1b82de3738cfa.zip | |
Meh, we do need to instantiate operator== after all
compiler optimizations...
Diffstat (limited to 'src')
| -rw-r--r-- | src/tag_array.cpp | 4 | ||||
| -rw-r--r-- | src/tag_primitive.cpp | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/tag_array.cpp b/src/tag_array.cpp index 942d1f5c78..a944899402 100644 --- a/src/tag_array.cpp +++ b/src/tag_array.cpp @@ -111,9 +111,11 @@ bool operator!=(const tag_array<T>& lhs, const tag_array<T>& rhs) return !(lhs == rhs); } -//Enforce template instantiations. Just as for tag_primitive we have to instantiate operator!= +//Enforce template instantiations template class tag_array<int8_t>; template class tag_array<int32_t>; +template bool operator==<int8_t> (const tag_array<int8_t>& , const tag_array<int8_t>&); +template bool operator==<int32_t>(const tag_array<int32_t>&, const tag_array<int32_t>&); template bool operator!=<int8_t> (const tag_array<int8_t>& , const tag_array<int8_t>&); template bool operator!=<int32_t>(const tag_array<int32_t>&, const tag_array<int32_t>&); diff --git a/src/tag_primitive.cpp b/src/tag_primitive.cpp index 27aabcfed5..69bd9695bd 100644 --- a/src/tag_primitive.cpp +++ b/src/tag_primitive.cpp @@ -81,7 +81,12 @@ template class tag_primitive<int32_t>; template class tag_primitive<int64_t>; template class tag_primitive<float>; template class tag_primitive<double>; -//Need to also instantiate operator!=, whereas operator== already gets instantiated in crtp_tag +template bool operator==<int8_t> (const tag_primitive<int8_t>& , const tag_primitive<int8_t>&); +template bool operator==<int16_t>(const tag_primitive<int16_t>&, const tag_primitive<int16_t>&); +template bool operator==<int32_t>(const tag_primitive<int32_t>&, const tag_primitive<int32_t>&); +template bool operator==<int64_t>(const tag_primitive<int64_t>&, const tag_primitive<int64_t>&); +template bool operator==<float> (const tag_primitive<float>& , const tag_primitive<float>&); +template bool operator==<double> (const tag_primitive<double>& , const tag_primitive<double>&); template bool operator!=<int8_t> (const tag_primitive<int8_t>& , const tag_primitive<int8_t>&); template bool operator!=<int16_t>(const tag_primitive<int16_t>&, const tag_primitive<int16_t>&); template bool operator!=<int32_t>(const tag_primitive<int32_t>&, const tag_primitive<int32_t>&); |
