text: /**
   * \file
   * \copyright
   * Copyright (c) 2012-2020, OpenGeoSys Community (http://www.opengeosys.org)
   *            Distributed under a Modified BSD License.
   *              See accompanying file LICENSE.txt or
   *              http://www.opengeosys.org/project/license
   *
   */
  
  #pragma once
  
  #include "LinearElasticOrthotropic.h"
  
  namespace MaterialLib
  {
  namespace Solids
  {
  template <int DisplacementDim>
  std::unique_ptr<LinearElasticOrthotropic<DisplacementDim>>
  createLinearElasticOrthotropic(
      std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
      boost::optional<ParameterLib::CoordinateSystem> const&
          local_coordinate_system,
      BaseLib::ConfigTree const& config, const bool skip_type_checking);
  
  extern template std::unique_ptr<LinearElasticOrthotropic<2>>
  createLinearElasticOrthotropic(
      std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
      boost::optional<ParameterLib::CoordinateSystem> const&
          local_coordinate_system,
      BaseLib::ConfigTree const& config, const bool skip_type_checking);
  
  extern template std::unique_ptr<LinearElasticOrthotropic<3>>
  createLinearElasticOrthotropic(
      std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
      boost::optional<ParameterLib::CoordinateSystem> const&
          local_coordinate_system,
      BaseLib::ConfigTree const& config, const bool skip_type_checking);
  }  // namespace Solids
  }  // namespace MaterialLib
  