static void call()

in Source/Shared/arcana/functional/inplace_function.h [379:400]


            static void call(void* dataPtr, const void* fromPtr, Operation op)
            {
                FunctorT* thisFunctor = reinterpret_cast<FunctorT*>(dataPtr);
                switch (op)
                {
                    case Operation::Destroy:
                    {
                        thisFunctor->~FunctorT();
                        break;
                    }
                    case Operation::Move:
                    {
                        FunctorT* source = (FunctorT*)fromPtr;
                        new (thisFunctor) FunctorT(std::move(*source));
                        break;
                    }
                    default:
                    {
                        assert(false && "Unexpected operation");
                    }
                }
            }