[][src]Trait kanaria::converter::Converter

pub trait Converter<T> where
    T: UCSChar
{ fn to_string(&mut self) -> String;
fn to_vec(&mut self) -> Vec<T>;
unsafe fn write_to_ptr(&self, target_ptr: *mut T) -> usize; }

Required methods

fn to_string(&mut self) -> String

文字列を変換し、Stringとして返却します。

Examples

use kanaria::converter::{Converter, ConverterFactory};

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let converter = ConverterFactory::from_slice(target.as_slice());
let result = converter
    .katakana()
    .to_string();

assert_eq!(result.as_str(), "アイウエオ")

fn to_vec(&mut self) -> Vec<T>

文字列を変換し、Vecとして返却します。

Examples

use kanaria::converter::{Converter, ConverterFactory};

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let converter = ConverterFactory::from_slice(target.as_slice());
let result = converter
    .katakana()
    .to_vec();

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ'])

unsafe fn write_to_ptr(&self, target_ptr: *mut T) -> usize

文字列を変換し、target_ptrに書き込みます。 target_ptrは、元になった文字列と同じ長さ以上の領域を設定する必要があります。 また、この関数は終端文字のnullを書き込みません。 必要な場合は呼び出し側でtarget_ptrの終端にnullを追加してください。

Examples

use kanaria::converter::{Converter, ConverterFactory};

let target = vec!['あ', 'い', 'う', 'え', 'お'];
let mut result = Vec::<char>::with_capacity(target.len());

unsafe {
let converter = ConverterFactory::from_slice(target.as_slice());
let len = converter
        .katakana()
        .write_to_ptr(result.as_mut_ptr());
    result.set_len(len);
};

assert_eq!(result, vec!['ア', 'イ', 'ウ', 'エ', 'オ']);
Loading content...

Implementors

impl<T> Converter<T> for OneToOneConverter<T> where
    T: UCSChar
[src]

impl<T> Converter<T> for OneToTwoConverter<T> where
    T: UCSChar
[src]

impl<T> Converter<T> for TwoToOneConverter<T> where
    T: UCSChar
[src]

Loading content...