2011-12-14 28 views
6

Python'dan C++ 'ya geçirilen listenin uzunluğunu hesaplamanın bir yolu var mı?boost :: python :: liste uzunluğu

class Awesome{ 
    public: 
    void awesomeMethod(const boost::python::list& list_of_something){ 
     list_of_something.length() // suprisingly there's no such method 
    } 
}; 

cevap

16

Like Python, boyunu almak için free function len() kullanmalıdır: yöntem Böyle şey yapmak istiyorsun, ama liste sınıfı length (veya benzer bir şey) yoksundur. O değil lengthlen, deniyor

boost::python::len(list_of_something) 
2

deneyin ve bir yöntem ama ayaklı fonksiyonu değil (Python length yöntemleri kullanmaz, ancak uzunluk protokolü ve len() fonksiyonu).

return boost::python::len(list_of_something);