/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * Author: pgess <v.melnychenko@xreate.org>
 * Created on June 7, 2018, 6:47 PM
 */

/**
 * \file    transcend-decorators.h
 * \brief   \ref xreate::TranscendLayer decorators management
 */

#include "transcendlayer.h"
#include "aux/latereasoning.h"

#ifndef TRANSCEND_DECORATORS_H
#define TRANSCEND_DECORATORS_H

namespace xreate {
  /**
   *  \brief Default \ref xreate::TranscendLayer functionality
   *  \extends xreate::TranscendLayer
   */
    typedef latereasoning::LateReasoningTranscendDecorator<TranscendLayer> 
        DefaultTranscendLayerImpl;
    
    struct LateReasoningTranscendDecoratorTag;
    
    template<>
    struct DecoratorsDict<LateReasoningTranscendDecoratorTag>{
    typedef latereasoning::LateReasoningTranscendDecorator<TranscendLayer>  result;
};
}

#endif /* TRANSCEND_DECORATORS_H */

