#ifndef BOOST_QVM_GEN_SWIZZLE2_HPP_INCLUDED #define BOOST_QVM_GEN_SWIZZLE2_HPP_INCLUDED /// Copyright (c) 2008-2021 Emil Dotchevski and Reverge Studios, Inc. /// Distributed under the Boost Software License, Version 1.0. (See accompanying /// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /// This file was generated by a program. Do not edit manually. #include #include #include namespace boost { namespace qvm { BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > const & _11() { return *reinterpret_cast > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > const & _01() { return *reinterpret_cast > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type W1( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type W1( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type Z1( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type Z1( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type Y1( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type Y1( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > const &>::type X1( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > const &>::type X1( S const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > &>::type X1( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > &>::type X1( S & a ) { return reinterpret_cast > > &>(a); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > const & _10() { return *reinterpret_cast > > const *>(qvm_detail::get_null()); } BOOST_QVM_INLINE_TRIVIAL qvm_detail::sw01_ > > const & _00() { return *reinterpret_cast > > const *>(qvm_detail::get_null()); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type W0( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type W0( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type Z0( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type Z0( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type Y0( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type Y0( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > const &>::type X0( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > const &>::type X0( S const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > &>::type X0( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > &>::type X0( S & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type _1W( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type _1W( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type _0W( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type _0W( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type WW( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type WW( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type ZW( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type ZW( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type YW( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type YW( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type XW( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type XW( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type _1Z( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type _1Z( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type _0Z( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type _0Z( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type WZ( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type WZ( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type ZZ( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type ZZ( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type YZ( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type YZ( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type XZ( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type XZ( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type _1Y( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type _1Y( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type _0Y( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type _0Y( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type WY( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type WY( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type ZY( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type ZY( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type YY( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type YY( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type XY( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type XY( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > const &>::type _1X( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > const &>::type _1X( S const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > &>::type _1X( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > &>::type _1X( S & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > const &>::type _0X( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > const &>::type _0X( S const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > &>::type _0X( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > &>::type _0X( S & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > const &>::type WX( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=4, qvm_detail::sw_ > > &>::type WX( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > const &>::type ZX( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=3, qvm_detail::sw_ > > &>::type ZX( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > const &>::type YX( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=2, qvm_detail::sw_ > > &>::type YX( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > const &>::type XX( V const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > const &>::type XX( S const & a ) { return reinterpret_cast > > const &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_vec::value && vec_traits::dim>=1, qvm_detail::sw_ > > &>::type XX( V & a ) { return reinterpret_cast > > &>(a); } template BOOST_QVM_INLINE_TRIVIAL typename enable_if_c< is_scalar::value, qvm_detail::sws_ > > &>::type XX( S & a ) { return reinterpret_cast > > &>(a); } } } #endif