moneypunct Sınıfı

Sınıf şablonu, bir parasal giriş alanını veya parasal çıkış alanını temsil etmek için kullanılan CharType türündeki dizileri açıklamak için yerel ayar modeli olarak hizmet veren bir nesneyi açıklar. Intl şablon parametresi true ise uluslararası kurallar gözlenir.

Sözdizimi

template <class CharType, bool Intl>
class moneypunct;

Parametreler

CharType
Bir program içindeki karakterleri kodlamak için kullanılan tür.

Intl
Gözlenecek uluslararası kurallara uyulup uyulmayacağını belirten bayrak.

Açıklamalar

Herhangi bir yerel ayar modelinde olduğu gibi, statik nesne kimliğinde depolanmış bir başlangıç sıfır değeri bulunur. Depolanan değerine erişmeye yönelik ilk deneme, kimlikte benzersiz bir pozitif değer depolar.

Const statik nesnesi intl, Intl şablon parametresinin değerini depolar.

Oluşturucular

Oluşturucu Açıklama
moneypunct türünde moneypunctnesnelerin oluşturucusunun.

Tür tanımları

Tür adı Açıklama
char_type Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.
string_type türünde karakterler içeren bir dizeyi açıklayan tür CharType.

Üye işlevleri

Üye işlevi Açıklama
curr_symbol Para birimi simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.
decimal_point Ondalık noktası simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.
do_curr_symbol Para birimi simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndüren korumalı sanal üye işlevi.
do_decimal_point Ondalık noktası simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürmek için çağrılan korumalı sanal üye işlevi.
do_frac_digits Korumalı sanal üye işlevi herhangi bir ondalık noktasının sağında görüntülenecek basamak sayısının yerel ayara özgü bir sayısını döndürür.
do_grouping Korumalı sanal üye işlevi herhangi bir ondalık noktasının solunda gruplanacak basamakların nasıl belirleneceğine yönelik yerel ayara özgü bir kural döndürür.
do_neg_format Negatif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürmek için çağrılan korumalı bir sanal üye işlevi.
do_negative_sign Negatif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürmek için çağrılan korumalı sanal üye işlevi.
do_pos_format Pozitif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürmek için çağrılan korumalı bir sanal üye işlevi.
do_positive_sign Pozitif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürmek için çağrılan korumalı sanal üye işlevi.
do_thousands_sep Binlik ayırıcı simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürmek için çağrılan korumalı sanal üye işlevi.
frac_digits Herhangi bir ondalık noktasının sağında görüntülenecek basamak sayısının yerel ayara özgü bir sayısını döndürür.
Grup -landırma Herhangi bir ondalık noktasının solunda gruplanacak basamakların nasıl belirleneceğine yönelik yerel ayara özgü bir kural döndürür.
neg_format Negatif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürür.
negative_sign Negatif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.
pos_format Pozitif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürür.
positive_sign Pozitif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.
thousands_sep Binlik ayırıcı simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

Gereksinimler

Üst bilgi:<yerel ayar>

Ad alanı: std

moneypunct::char_type

Bir yerel ayar tarafından kullanılan bir karakteri tanımlamak için kullanılan tür.

typedef CharType char_type;

Açıklamalar

Türü, CharType şablon parametresinin eş anlamlısıdır.

moneypunct::curr_symbol

Para birimi simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

string_type curr_symbol() const;

Dönüş Değeri

Para birimi simgesini içeren bir dize.

Açıklamalar

Üye işlevi do_curr_symbol döndürür.

Örnek

// moneypunct_curr_symbol.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const moneypunct < char, true > &mpunct = use_facet < moneypunct < char, true > >(loc);
   cout << loc.name( ) << " international currency symbol "<<  mpunct.curr_symbol( ) << endl;

   const moneypunct < char, false> &mpunct2 = use_facet < moneypunct < char, false> >(loc);
   cout << loc.name( ) << " domestic currency symbol "<<  mpunct2.curr_symbol( ) << endl;
};

moneypunct::d ecimal_point

Ondalık noktası simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

CharType decimal_point() const;

Dönüş Değeri

Ondalık ayırıcı simgesi olarak kullanılacak yerel ayara özgü öğe dizisi.

Açıklamalar

Üye işlevi do_decimal_point döndürür.

Örnek

// moneypunct_decimal_pt.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc("german_germany");

   const moneypunct < char, true > &mpunct = use_facet
      < moneypunct < char, true > >(loc);
   cout << loc.name( ) << " international decimal point "
        << mpunct.decimal_point( ) << endl;

   const moneypunct < char, false> &mpunct2 = use_facet
      < moneypunct < char, false> >(loc);
   cout << loc.name( ) << " domestic decimal point "
        << mpunct2.decimal_point( ) << endl;
}
German_Germany.1252 international decimal point ,
German_Germany.1252 domestic decimal point ,

moneypunct::d o_curr_symbol

Para birimi simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndüren korumalı sanal üye işlevi.

virtual string_type do_curr_symbol() const;

Dönüş Değeri

Ondalık ayırıcı simgesi olarak kullanılacak yerel ayara özgü öğe dizisi.

Örnek

sanal üye işlevinin tarafından curr_symbolçağrıldığı curr_symbol örneğine bakın.

moneypunct::d o_decimal_point

Ondalık nokta simgesi olarak kullanılacak yerel ayara özgü bir öğe dizisi döndüren korumalı bir sanal üye işlevi.

virtual CharType do_decimal_point() const;

Dönüş Değeri

Ondalık ayırıcı simgesi olarak kullanılacak yerel ayara özgü öğe dizisi.

Örnek

sanal üye işlevinin tarafından decimal_pointçağrıldığı decimal_point örneğine bakın.

moneypunct::d o_frac_digits

Herhangi bir ondalık noktasının sağındaki görüntülenecek basamak sayısının yerel ayara özgü sayısını döndüren korumalı bir sanal üye işlevi.

virtual int do_frac_digits() const;

Dönüş Değeri

Herhangi bir ondalık noktasının sağındaki görüntülenecek basamak sayısının yerel ayara özgü sayısı.

Örnek

sanal üye işlevinin tarafından frac_digitsçağrıldığı frac_digits örneğine bakın.

moneypunct::d o_grouping

Basamakların herhangi bir ondalık noktasının solunda nasıl gruplandırıldığını belirlemek için yerel ayara özgü bir kural döndüren korumalı bir sanal üye işlevi.

virtual string do_grouping() const;

Dönüş Değeri

Basamakların herhangi bir ondalık noktasının solunda nasıl gruplandırıldıklarını belirlemek için yerel ayara özgü bir kural.

Örnek

Sanal üye işlevinin tarafından groupingçağrıldığı gruplandırma örneğine bakın.

moneypunct::d o_neg_format

Negatif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürmek için çağrılan korumalı bir sanal üye işlevi.

virtual pattern do_neg_format() const;

Dönüş Değeri

Korumalı sanal üye işlevi, negatif bir tutar için parasal çıkış alanı oluşturmayı belirlemek için yerel ayara özgü bir kural döndürür. dört öğesinin pattern::field her biri şu değerlere sahip olabilir:

  • none sıfır veya daha fazla boşluk eşleştirmek veya hiçbir şey oluşturmamak için.

  • sign pozitif veya negatif bir işareti eşleştirmek veya oluşturmak için.

  • space sıfır veya daha fazla boşlukla eşleşecek veya boşluk oluşturacak şekilde ayarlayabilirsiniz.

  • symbol bir para birimi simgesi eşleştirmek veya oluşturmak için.

  • value bir parasal değer eşleştirmek veya oluşturmak için.

Parasal çıkış alanının bileşenleri oluşturulur ve bir parasal giriş alanının bileşenleri bu öğelerin içinde pattern::fieldgöründüğü sırayla eşleştirilir. , , valuesymbolve none değerlerinin signher biri veya space tam olarak bir kez görünmelidir. Değerin none önce görünmemesi gerekir. Değer space ilk veya son görüntülenmemelidir. Doğruysa, sıra symbol, , signnone, ve olurvalue.Intl

öğesinin moneypunct< CharType, Intl > şablon sürümü döndürür {money_base::symbol, money_base::sign, money_base::value, money_base::none}.

Örnek

sanal üye işlevinin tarafından neg_formatçağrıldığı neg_format örneğine bakın.

moneypunct::d o_negative_sign

Negatif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürmek için çağrılan korumalı sanal üye işlevi.

virtual string_type do_negative_sign() const;

Dönüş Değeri

Negatif işaret olarak kullanılacak yerel ayara özgü öğe dizisi.

Örnek

sanal üye işlevinin tarafından negative_signçağrıldığı negative_sign örneğine bakın.

moneypunct::d o_pos_format

Pozitif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürmek için çağrılan korumalı bir sanal üye işlevi.

virtual pattern do_pos_format() const;

Dönüş Değeri

Korumalı sanal üye işlevi, pozitif bir tutar için parasal çıkış alanı oluşturmayı belirlemek için yerel ayara özgü bir kural döndürür. (Ayrıca, bir parasal giriş alanının bileşenlerinin nasıl eşleştirileceğini de belirler.) Kodlama, do_neg_format ile aynıdır.

öğesinin moneypunct< CharType, Inputlterator > şablon sürümü döndürür { money_base::symbol, money_base::sign, money_base::value, money_base::none }.

Örnek

sanal üye işlevinin tarafından pos_formatçağrıldığı pos_format örneğine bakın.

moneypunct::d o_positive_sign

Pozitif işaret olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndüren korumalı bir sanal üye işlevi.

virtual string_type do_positive_sign() const;

Dönüş Değeri

Pozitif işaret olarak kullanılacak yerel ayara özgü öğe dizisi.

Örnek

sanal üye işlevinin tarafından positive_signçağrıldığı positive_sign örneğine bakın.

moneypunct::d o_thousands_sep

Herhangi bir ondalık noktasının solunda grup ayırıcısı olarak kullanılacak yerel ayara özgü bir öğe döndüren korumalı bir sanal üye işlevi.

virtual CharType do_thousands_sep() const;

Dönüş Değeri

Herhangi bir ondalık noktasının solunda grup ayırıcısı olarak kullanılacak yerel ayara özgü öğe.

Örnek

sanal üye işlevinin tarafından thousands_sepçağrıldığı thousands_sep örneğine bakın.

moneypunct::frac_digits

Herhangi bir ondalık noktasının sağında görüntülenecek basamak sayısının yerel ayara özgü bir sayısını döndürür.

int frac_digits() const;

Dönüş Değeri

Herhangi bir ondalık noktasının sağındaki görüntülenecek basamak sayısının yerel ayara özgü sayısı.

Açıklamalar

Üye işlevi do_frac_digits döndürür.

Örnek

// moneypunct_frac_digits.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true> >(loc);
   for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " international grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " international frac_digits\n to the right"
        << " of the radix character: "
        << mpunct.frac_digits ( ) << endl << endl;

   const moneypunct <char, false> &mpunct2 =
       use_facet <moneypunct <char, false> >(loc);
   for (unsigned int i = 0; i <mpunct2.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " domestic grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct2.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " domestic frac_digits\n to the right"
        << " of the radix character: "
        << mpunct2.frac_digits ( ) << endl << endl;
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 international frac_digits
to the right of the radix character: 2

German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2

moneypunct::grouping

Herhangi bir ondalık noktasının solunda gruplanacak basamakların nasıl belirleneceğine yönelik yerel ayara özgü bir kural döndürür.

string grouping() const;

Dönüş Değeri

Basamakların herhangi bir ondalık noktasının solunda nasıl gruplandırıldıklarını belirlemek için yerel ayara özgü bir kural.

Açıklamalar

Üye işlevi do_grouping döndürür.

Örnek

// moneypunct_grouping.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true> >( loc );
   for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " international grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " international frac_digits\n to the right"
        << " of the radix character: "
        << mpunct.frac_digits ( ) << endl << endl;

   const moneypunct <char, false> &mpunct2 =
       use_facet <moneypunct <char, false> >( loc );
   for (unsigned int i = 0; i <mpunct2.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " domestic grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct2.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " domestic frac_digits\n to the right"
        << " of the radix character: "
        << mpunct2.frac_digits ( ) << endl << endl;
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 international frac_digits
to the right of the radix character: 2

German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2

moneypunct::moneypunct

türünde moneypunctnesnelerin oluşturucusunun.

explicit moneypunct(size_t _Refs = 0);

Parametreler

_Refs
Nesne için bellek yönetimi türünü belirtmek için kullanılan tamsayı değeri.

Açıklamalar

_Refs parametresinin olası değerleri ve anlamları şunlardır:

  • 0: Nesnenin yaşam süresi, nesnenin bulunduğu yerel ayarlar tarafından yönetilir.

  • 1: Nesnenin ömrü el ile yönetilmelidir.

  • > 1: Bu değerler tanımlanmamıştır.

Yıkıcı korunduğundan doğrudan örnek yoktur.

Oluşturucu, temel nesnesini locale::facet(_ Refs) ile başlatır.

moneypunct::neg_format

Negatif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürür.

pattern neg_format() const;

Dönüş Değeri

Negatif tutarlarla çıkışları biçimlendirmek için yerel ayara özgü bir kural.

Açıklamalar

Üye işlevi do_neg_format döndürür.

Örnek

// moneypunct_neg_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( ) {
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international negative number format: "
        << mpunct.neg_format( ).field[0]
        << mpunct.neg_format( ).field[1]
        << mpunct.neg_format( ).field[2]
        << mpunct.neg_format( ).field[3] << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic negative number format: "
        << mpunct2.neg_format( ).field[0]
        << mpunct2.neg_format( ).field[1]
        << mpunct2.neg_format( ).field[2]
        << mpunct2.neg_format( ).field[3] << endl;
}

moneypunct::negative_sign

Negatif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

string_type negative_sign() const;

Dönüş Değeri

Negatif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

Açıklamalar

Üye işlevi do_negative_sign döndürür.

Örnek

// moneypunct_neg_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true> >(loc);
   cout << loc.name( ) << " international negative sign: "
        << mpunct.negative_sign( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic negative sign: "
        << mpunct2.negative_sign( ) << endl;

   locale loc2( "French" );

   const moneypunct <char, true> &mpunct3 =
      use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international negative sign: "
        << mpunct3.negative_sign( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic negative sign: "
        << mpunct4.negative_sign( ) << endl;
};
German_Germany.1252 international negative sign: -
German_Germany.1252 domestic negative sign: -
French_France.1252 international negative sign: -
French_France.1252 domestic negative sign: -

moneypunct::p os_format

Pozitif tutarlara sahip çıkışları biçimlendirmek için bir yerel ayara özgü kural döndürür.

pattern pos_format() const;

Dönüş Değeri

Çıkışları pozitif miktarlarda biçimlendirmek için yerel ayara özgü bir kural.

Açıklamalar

Üye işlevi do_pos_format döndürür.

Örnek

// moneypunct_pos_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main() {
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true> >(loc);
   cout << loc.name( ) << " international positive number format: "
        << mpunct.pos_format( ).field[0]
        << mpunct.pos_format( ).field[1]
        << mpunct.pos_format( ).field[2]
        << mpunct.pos_format( ).field[3] << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic positive number format: "
        << mpunct2.pos_format( ).field[0]
        << mpunct2.pos_format( ).field[1]
        << mpunct2.pos_format( ).field[2]
        << mpunct2.pos_format( ).field[3] << endl;
}

moneypunct::p ositive_sign

Pozitif işareti simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

string_type positive_sign() const;

Dönüş Değeri

Pozitif işaret simgesi olarak kullanılacak yerel ayara özgü öğe dizisi.

Açıklamalar

Üye işlevi do_positive_sign döndürür.

Örnek

// moneypunct_pos_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international positive sign:"
        << mpunct.positive_sign( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic positive sign:"
        << mpunct2.positive_sign( ) << endl;

   locale loc2( "French" );

   const moneypunct <char, true> &mpunct3 =
      use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international positive sign:"
        << mpunct3.positive_sign( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic positive sign:"
        << mpunct4.positive_sign( ) << endl;
};
German_Germany.1252 international positive sign:
German_Germany.1252 domestic positive sign:
French_France.1252 international positive sign:
French_France.1252 domestic positive sign:

moneypunct::string_type

CharType türünde karakterler içeren bir dizeyi açıklayan bir tür.

typedef basic_string<CharType, Traits, Allocator> string_type;

Açıklamalar

Türü, nesneleri noktalama dizilerinin kopyalarını depolayan sınıf şablonu basic_string bir özelleştirmeyi açıklar.

moneypunct::thousands_sep

Binlik ayırıcı simgesi olarak kullanılacak öğelerin yerel ayara özgü bir dizisini döndürür.

CharType thousands_sep() const;

Dönüş Değeri

Binlik ayırıcı olarak kullanılacak yerel ayara özgü öğe dizisi

Açıklamalar

Üye işlevi do_thousands_sep döndürür.

Örnek

// moneypunct_thou_sep.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international thousands separator: "
        << mpunct.thousands_sep( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic thousands separator: "
        << mpunct2.thousands_sep( ) << endl << endl;

   locale loc2( "english_canada" );

   const moneypunct <char, true> &mpunct3 =
       use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international thousands separator: "
        << mpunct3.thousands_sep( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic thousands separator: "
        << mpunct4.thousands_sep( ) << endl;
}
German_Germany.1252 international thousands separator: .
German_Germany.1252 domestic thousands separator: .

English_Canada.1252 international thousands separator: ,
English_Canada.1252 domestic thousands separator: ,

Ayrıca bkz.

<yerel ayar>
C++ Standart Kitaplığında İş Parçacığı Güvenliği