summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/MetricsFunctional.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/MetricsFunctional.h')
-rw-r--r--cpp/src/Ice/MetricsFunctional.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/cpp/src/Ice/MetricsFunctional.h b/cpp/src/Ice/MetricsFunctional.h
deleted file mode 100644
index 247d67ff0f7..00000000000
--- a/cpp/src/Ice/MetricsFunctional.h
+++ /dev/null
@@ -1,155 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#ifndef ICE_METRICSFUNCTIONAL_H
-#define ICE_METRICSFUNCTIONAL_H
-
-namespace IceMX
-{
-
-template<typename R> struct ReferenceWrapper
-{
- static R* get(const R& v)
- {
- return const_cast<R*>(&v);
- }
-};
-
-template<typename R> struct ReferenceWrapper<IceUtil::Handle<R> >
-{
- static R* get(const IceUtil::Handle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<const IceUtil::Handle<R>& >
-{
- static R* get(const IceUtil::Handle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<IceInternal::ProxyHandle<R> >
-{
- static R* get(const IceInternal::ProxyHandle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<const IceInternal::ProxyHandle<R>& >
-{
- static R* get(const IceInternal::ProxyHandle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<IceInternal::Handle<R> >
-{
- static R* get(const IceInternal::Handle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<const IceInternal::Handle<R>& >
-{
- static R* get(const IceInternal::Handle<R>& v)
- {
- return v.get();
- }
-};
-
-template<typename R> struct ReferenceWrapper<R*>
-{
- static R* get(R* v)
- {
- return v;
- }
-};
-
-template<typename R> struct ReferenceWrapper<const R&>
-{
- static R* get(const R& v)
- {
- return const_cast<R*>(&v);
- }
-};
-
-template<class T, typename Y, typename Func> struct ApplyOnMember
-{
- ApplyOnMember(Y T::*member, Func func) : func(func), member(member)
- {
- }
-
- template<typename R>
- void operator()(const R& v)
- {
- func(ReferenceWrapper<R>::get(v)->*member);
- }
-
- Func func;
- Y T::*member;
-};
-
-template<typename T> struct Decrement
-{
- void operator()(T& v)
- {
- --v;
- }
-};
-
-template<typename T> struct Increment
-{
- void operator()(T& v)
- {
- ++v;
- }
-};
-
-template<typename T> struct Add
-{
- Add(T value) : value(value) { }
-
- template<typename Y>
- void operator()(Y& v)
- {
- v += value;
- }
-
- T value;
-};
-
-template<class T, typename Y, typename F> ApplyOnMember<T, Y, F> applyOnMember(Y T::*member, F func)
-{
- return ApplyOnMember<T, Y, F>(member, func);
-}
-
-template<class T, typename Y, typename V> ApplyOnMember<T, Y, Add<V> > add(Y T::*member, V value)
-{
- return applyOnMember(member, Add<V>(value));
-}
-
-template<class T, typename Y> ApplyOnMember<T, Y, Increment<Y> > inc(Y T::*member)
-{
- return applyOnMember(member, Increment<Y>());
-}
-
-template<class T, typename Y> ApplyOnMember<T, Y, Decrement<Y> > dec(Y T::*member)
-{
- return applyOnMember(member, Decrement<Y>());
-}
-
-}
-
-#endif