Delete the "Any-to-Any" template specializations for LIBO_INTERNAL_ONLY

i.e., css::uno::Any function template specializations

  Any::has<Any>() const
  Any::get(Any const &) const
  operator >>=(Any const &, Any &)
  operator <<=(Any &, Any const &)

that don't make much sense (the first is always true, the rest can be replaced
with operator =, which additionally supports move semantics).  For 3rd-party
compatibility, do this only for LIBO_INTERNAL_ONLY, however.

However, some generic template code did benefit from operator >>= working also
for Any, so make up for that with a new (LIBO_INTERNAL_ONLY, given that
operator >>= still covers if fine for !LIBO_INTERNAL_ONLY) fromAny,
complementing the existing toAny.

Change-Id: I8b1b5f803f0b909808159916366d53c948206a88
Reviewed-on: https://gerrit.libreoffice.org/30022
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
Stephan Bergmann
2016-11-21 19:44:56 +00:00
parent 05d175a8ef
commit bd614b9135
15 changed files with 166 additions and 93 deletions
+1
View File
@@ -21,6 +21,7 @@ $(eval $(call gb_Module_add_targets,cppu,\
))
$(eval $(call gb_Module_add_check_targets,cppu,\
CppunitTest_cppu_any-external \
CppunitTest_cppu_qa_any \
CppunitTest_cppu_qa_recursion \
CppunitTest_cppu_qa_reference \