2017-04-23 4 views
1

Essayer de concaténer les chaînes de compilation Boost Hana donne des erreurs de compilateur dans mon application. Y a-t-il une option de configuration particulière à activer ou un en-tête qui doit être inclus pour que cela fonctionne?Concatenate Boost Hana strings

Voici un exemple:

#define BOOST_HANA_CONFIG_ENABLE_STRING_UDL 
#include "boost/hana.hpp" 

namespace hana = boost::hana; 

using namespace hana::literals; 

int main() { 
    auto t = "left, "_s + "right"_s; 
} 

Cela échoue avec l'erreur error: no match for ‘operator+’ (operand types are ‘boost::hana::string<'l', 'e', 'f', 't', ',', ' '>’ and ‘boost::hana::string<'r', 'i', 'g', 'h', 't'>’) sur GCC 6.3.1. avec Hana Boost 1.62.0

Comme une note de côté, en remplacement de l'opérateur + avec hana::plus échoue avec l'erreur hana::plus(x, y) requires 'x' to be a Monoid

+1

[Travaux dans Boost 1,63.] (https://wandbox.org/permlink/LDuI2ykh0b4HC5OC) – chris

+0

Oui, il a été ajouté à 1,63. https://github.com/boostorg/hana/commit/7a3e0480d442c393ed7bcc1ca72a3e1821319ff0 –

+0

Parfait, merci. –

Répondre