3.3.9.12.1.1. Program Listing for File gsl.hΒΆ

#ifndef SIRIUS_UTILS_GSL_H_
#define SIRIUS_UTILS_GSL_H_

#include <gsl/gsl>

namespace sirius {
namespace utils {

template <typename SmartPtr>
auto MakeSmartPtrArraySpan(const SmartPtr& smart_ptr, const Size& size) {
    return gsl::span<typename SmartPtr::element_type>(smart_ptr.get(),
                                                      size.CellCount());
}

}  // namespace utils
}  // namespace sirius

#endif  // SIRIUS_UTILS_GSL_H_