Check for a macro that is defined by the compiler, we don't really need
one defined by the build system.
Change-Id: Iccb8e3198396881395c97a6b81690ebe64b7e9d2
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>
The issue of 362d4f0cd4 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.
(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to
OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager();
in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
Pretty sure FuncT(...value_type) is wrong since value_type is
std::weak_ptr which does not implicitly convert to a callable pointer;
this caused build failure on Mac OS X with clang/libc++.
Change-Id: Id9de4a7825347a84cce2aab5367a457a003bb352
Caused by my commit f29c0b2b3e
"boost::shared_ptr->std::shared_ptr in slideshow"
where I foolishly converted
shared_from_this()
to
std::shared_ptr<Activity>((Activity*)this) )
all over the place, which is bad, I should have used
std::dynamic_pointer_cast<ViewEventHandler>(shared_from_this())
Ah, the joys of C++ memory management.
Change-Id: I9b538e78730c9107870f406cb8ba482d491dd568
A ridiculously fast way of doing this is:
for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
--exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
perl -0777 -i -pe 's/^
{3,}/
/gm' $i
done
Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.
Switch all our internal use-sites to the new class.
Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
All of the remaining includes of boost/bind.hpp may be removed from
slideshow, as last remaining uses of boost::bind have been removed from
the module. There should be no side effects due to this change.
Change-Id: I4e1855545fad69d09e594d0be139c09aad561b2d
Reviewed-on: https://gerrit.libreoffice.org/19395
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Replace boost::bind with C++11 lambdas. In addition, replace the use of
FuncT::result_type in ListenerOperations::notifyAllListeners with a less
type specific means of determining the return type of the function to be
applied in order to allow for the use of C++11 lambdas.
Change-Id: I1035be976e542d8b5bbd451c473a896d91ed66ca
Reviewed-on: https://gerrit.libreoffice.org/19314
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Replace simple while loops with range-based for-loops when apropriate.
There should be no side effects due to this change.
Change-Id: I0c39d4c10c991354248e864a09333144974c953c
Reviewed-on: https://gerrit.libreoffice.org/19281
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
It just includes a bunch of other boost headers; mostly we need
boost/noncopyable.hpp so include that directly.
This eliminates 831 MB(!) of boost/preprocessor/seq/fold_left.hpp
completely, which is the 2nd biggest header after ustring.hxx.
Change-Id: I3df55770adcb46e56f389af828e8ba80da2dc1f2